[BACK]Return to proto.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / awk

Annotation of src/usr.bin/awk/proto.h, Revision 1.3

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