]> git.lizzy.rs Git - plan9front.git/blob - sys/src/cmd/awk/proto.h
python: update python build configuration to new ape capabilities like getaddrinfo...
[plan9front.git] / sys / src / cmd / awk / proto.h
1 /****************************************************************
2 Copyright (C) Lucent Technologies 1997
3 All Rights Reserved
4
5 Permission to use, copy, modify, and distribute this software and
6 its documentation for any purpose and without fee is hereby
7 granted, provided that the above copyright notice appear in all
8 copies and that both that the copyright notice and this
9 permission notice and warranty disclaimer appear in supporting
10 documentation, and that the name Lucent Technologies or any of
11 its entities not be used in advertising or publicity pertaining
12 to distribution of the software without specific, written prior
13 permission.
14
15 LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
16 INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
17 IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY
18 SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
19 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
20 IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
21 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
22 THIS SOFTWARE.
23 ****************************************************************/
24
25 extern  int     yywrap(void);
26 extern  void    setfname(Cell *);
27 extern  int     constnode(Node *);
28 extern  char    *strnode(Node *);
29 extern  Node    *notnull(Node *);
30 extern  int     yyparse(void);
31
32 extern  int     yylex(void);
33 extern  void    startreg(void);
34 extern  int     input(void);
35 extern  void    unput(int);
36 extern  void    unputstr(char *);
37 extern  int     yylook(void);
38 extern  int     yyback(int *, int);
39 extern  int     yyinput(void);
40
41 extern  void    *compre(char *);
42 extern  int     hexstr(char **);
43 extern  void    quoted(char **, char **, char *);
44 extern  int     match(void *, char *, char *);
45 extern  int     pmatch(void *, char *, char *);
46 extern  int     nematch(void *, char *, char *);
47 extern  int     countposn(char *, int);
48 extern  void    overflow(void);
49
50 extern  int     pgetc(void);
51 extern  char    *cursource(void);
52
53 extern  Node    *nodealloc(int);
54 extern  Node    *exptostat(Node *);
55 extern  Node    *node1(int, Node *);
56 extern  Node    *node2(int, Node *, Node *);
57 extern  Node    *node3(int, Node *, Node *, Node *);
58 extern  Node    *node4(int, Node *, Node *, Node *, Node *);
59 extern  Node    *stat3(int, Node *, Node *, Node *);
60 extern  Node    *op2(int, Node *, Node *);
61 extern  Node    *op1(int, Node *);
62 extern  Node    *stat1(int, Node *);
63 extern  Node    *op3(int, Node *, Node *, Node *);
64 extern  Node    *op4(int, Node *, Node *, Node *, Node *);
65 extern  Node    *stat2(int, Node *, Node *);
66 extern  Node    *stat4(int, Node *, Node *, Node *, Node *);
67 extern  Node    *celltonode(Cell *, int);
68 extern  Node    *rectonode(void);
69 extern  Node    *makearr(Node *);
70 extern  Node    *pa2stat(Node *, Node *, Node *);
71 extern  Node    *linkum(Node *, Node *);
72 extern  void    defn(Cell *, Node *, Node *);
73 extern  int     isarg(char *);
74 extern  char    *tokname(int);
75 extern  Cell    *(*proctab[])(Node **, int);
76 extern  int     ptoi(void *);
77 extern  Node    *itonp(int);
78
79 extern  void    syminit(void);
80 extern  void    arginit(int, char **);
81 extern  void    envinit(char **);
82 extern  Array   *makesymtab(int);
83 extern  void    freesymtab(Cell *);
84 extern  void    freeelem(Cell *, char *);
85 extern  Cell    *setsymtab(char *, char *, double, unsigned int, Array *);
86 extern  int     hash(char *, int);
87 extern  void    rehash(Array *);
88 extern  Cell    *lookup(char *, Array *);
89 extern  double  setfval(Cell *, double);
90 extern  void    funnyvar(Cell *, char *);
91 extern  char    *setsval(Cell *, char *);
92 extern  double  getfval(Cell *);
93 extern  char    *getsval(Cell *);
94 extern  char    *tostring(char *);
95 extern  char    *qstring(char *, int);
96
97 extern  void    recinit(unsigned int);
98 extern  void    initgetrec(void);
99 extern  void    makefields(int, int);
100 extern  void    growfldtab(int n);
101 extern  int     getrec(char **, int *, int);
102 extern  void    nextfile(void);
103 extern  int     readrec(char **buf, int *bufsize, FILE *inf);
104 extern  char    *getargv(int);
105 extern  void    setclvar(char *);
106 extern  void    fldbld(void);
107 extern  void    cleanfld(int, int);
108 extern  void    newfld(int);
109 extern  int     refldbld(char *, char *);
110 extern  void    recbld(void);
111 extern  Cell    *fieldadr(int);
112 extern  void    yyerror(char *);
113 extern  void    fpecatch(int);
114 extern  void    bracecheck(void);
115 extern  void    bcheck2(int, int, int);
116 extern  void    SYNTAX(char *, ...);
117 extern  void    FATAL(char *, ...);
118 extern  void    WARNING(char *, ...);
119 extern  void    error(void);
120 extern  void    eprint(void);
121 extern  void    bclass(int);
122 extern  double  errcheck(double, char *);
123 extern  int     isclvar(char *);
124 extern  int     is_number(char *);
125
126 extern  int     adjbuf(char **pb, int *sz, int min, int q, char **pbp, char *what);
127 extern  void    run(Node *);
128 extern  Cell    *execute(Node *);
129 extern  Cell    *program(Node **, int);
130 extern  Cell    *call(Node **, int);
131 extern  Cell    *copycell(Cell *);
132 extern  Cell    *arg(Node **, int);
133 extern  Cell    *jump(Node **, int);
134 extern  Cell    *getline(Node **, int);
135 extern  Cell    *getnf(Node **, int);
136 extern  Cell    *array(Node **, int);
137 extern  Cell    *awkdelete(Node **, int);
138 extern  Cell    *intest(Node **, int);
139 extern  Cell    *matchop(Node **, int);
140 extern  Cell    *boolop(Node **, int);
141 extern  Cell    *relop(Node **, int);
142 extern  void    tfree(Cell *);
143 extern  Cell    *gettemp(void);
144 extern  Cell    *field(Node **, int);
145 extern  Cell    *indirect(Node **, int);
146 extern  Cell    *substr(Node **, int);
147 extern  Cell    *sindex(Node **, int);
148 extern  int     format(char **, int *, char *, Node *);
149 extern  Cell    *awksprintf(Node **, int);
150 extern  Cell    *awkprintf(Node **, int);
151 extern  Cell    *arith(Node **, int);
152 extern  double  ipow(double, int);
153 extern  Cell    *incrdecr(Node **, int);
154 extern  Cell    *assign(Node **, int);
155 extern  Cell    *cat(Node **, int);
156 extern  Cell    *pastat(Node **, int);
157 extern  Cell    *dopa2(Node **, int);
158 extern  Cell    *split(Node **, int);
159 extern  Cell    *condexpr(Node **, int);
160 extern  Cell    *ifstat(Node **, int);
161 extern  Cell    *whilestat(Node **, int);
162 extern  Cell    *dostat(Node **, int);
163 extern  Cell    *forstat(Node **, int);
164 extern  Cell    *instat(Node **, int);
165 extern  Cell    *bltin(Node **, int);
166 extern  Cell    *printstat(Node **, int);
167 extern  Cell    *nullproc(Node **, int);
168 extern  FILE    *redirect(int, Node *);
169 extern  FILE    *openfile(int, char *);
170 extern  char    *filename(FILE *);
171 extern  Cell    *closefile(Node **, int);
172 extern  void    closeall(void);
173 extern  Cell    *sub(Node **, int);
174 extern  Cell    *gsub(Node **, int);
175
176 extern  FILE    *popen(const char *, const char *);
177 extern  int     pclose(FILE *);