Commit | Line | Data |
---|---|---|
78ed81a3 | 1 | /* Header : extr.h |
2 | Author : Ozan Yigit | |
3 | Updated: %G% | |
4 | */ | |
5 | #ifndef putback | |
15637ed4 RG |
6 | |
7 | extern ndptr hashtab[]; /* hash table for macros etc. */ | |
78ed81a3 | 8 | extern char buf[]; /* push-back buffer */ |
15637ed4 | 9 | extern char *bp; /* first available character */ |
78ed81a3 | 10 | extern char *bb; /* current beginning of bp */ |
15637ed4 | 11 | extern char *endpbb; /* end of push-back buffer */ |
78ed81a3 | 12 | extern stae mstack[]; /* stack of m4 machine */ |
15637ed4 RG |
13 | extern char *ep; /* first free char in strspace */ |
14 | extern char *endest; /* end of string space */ | |
78ed81a3 | 15 | extern int sp; /* current m4 stack pointer */ |
16 | extern int fp; /* m4 call frame pointer */ | |
17 | extern char *bbstack[]; | |
15637ed4 RG |
18 | extern FILE *infile[]; /* input file stack (0=stdin) */ |
19 | extern FILE *outfile[]; /* diversion array(0=bitbucket)*/ | |
20 | extern FILE *active; /* active output file pointer */ | |
21 | extern char *m4temp; /* filename for diversions */ | |
78ed81a3 | 22 | extern int UNIQUE; /* where to change m4temp */ |
23 | extern int ilevel; /* input file stack pointer */ | |
24 | extern int oindex; /* diversion index.. */ | |
15637ed4 RG |
25 | extern char *null; /* as it says.. just a null.. */ |
26 | extern char *m4wraps; /* m4wrap string default.. */ | |
78ed81a3 | 27 | extern char lquote; /* left quote character (`) */ |
28 | extern char rquote; /* right quote character (') */ | |
29 | extern char vquote; /* verbatim quote character ^V */ | |
30 | extern char scommt; /* start character for comment */ | |
31 | extern char ecommt; /* end character for comment */ | |
32 | ||
33 | /* inlined versions of chrsave() and putback() */ | |
34 | ||
35 | extern char pbmsg[]; /* error message for putback */ | |
36 | extern char csmsg[]; /* error message for chrsave */ | |
37 | ||
38 | #define putback(c) do { if (bp >= endpbb) error(pbmsg); *bp++ = c; } while (0) | |
39 | #define chrsave(c) do { if (ep >= endest) error(csmsg); *ep++ = c; } while (0) | |
40 | ||
41 | /* getopt() interface */ | |
42 | ||
43 | extern char * optarg; | |
44 | extern int optind; | |
45 | extern int getopt(); | |
46 | ||
47 | #ifdef __STDC__ | |
48 | #include <stdlib.h> | |
49 | ||
50 | /* functions from misc.c */ | |
51 | ||
52 | extern char * strsave(char *); | |
53 | extern int indx(char *, char *); | |
54 | extern void pbstr(char *); | |
55 | extern void pbqtd(char *); | |
56 | extern void pbnum(int); | |
57 | extern void pbrad(long int, int, int); | |
58 | extern void getdiv(int); | |
59 | extern void killdiv(); | |
60 | extern void error(char *); | |
61 | extern void onintr(int); | |
62 | extern void usage(); | |
63 | ||
64 | /* functions from look.c */ | |
65 | ||
66 | extern ndptr lookup(char *); | |
67 | extern ndptr addent(char *); | |
68 | extern void remhash(char *, int); | |
69 | extern void addkywd(char *, int); | |
70 | ||
71 | /* functions from int2str.c */ | |
72 | ||
73 | extern char* int2str(/* char*, int, long */); | |
74 | ||
75 | /* functions from serv.c */ | |
76 | ||
77 | extern void expand(char **, int); | |
78 | extern void dodefine(char *, char *); | |
79 | extern void dopushdef(char *, char *); | |
80 | extern void dodefn(char *); | |
81 | extern void dodump(char **, int); | |
82 | extern void doifelse(char **, int); | |
83 | extern int doincl(char *); | |
84 | extern void dochq(char **, int); | |
85 | extern void dochc(char **, int); | |
86 | extern void dodiv(int); | |
87 | extern void doundiv(char **, int); | |
88 | extern void dosub(char **, int); | |
89 | extern void map(char *, char *, char *, char *); | |
90 | #ifdef EXTENDED | |
91 | extern int dopaste(char *); | |
92 | extern void m4trim(char **, int); | |
93 | extern void dodefqt(char **, int); | |
94 | extern void doqutr(char **, int); | |
95 | #endif | |
96 | ||
97 | /* functions from expr.c */ | |
98 | ||
99 | extern long expr(char *); | |
100 | ||
101 | #else | |
102 | ||
103 | /* functions from misc.c */ | |
104 | ||
105 | extern char * malloc(); | |
106 | extern char * strsave(); | |
107 | extern int indx(); | |
108 | extern void pbstr(); | |
109 | extern void pbqtd(); | |
110 | extern void pbnum(); | |
111 | extern void pbrad(); | |
112 | extern void getdiv(); | |
113 | extern void killdiv(); | |
114 | extern void error(); | |
115 | extern int onintr(); | |
116 | extern void usage(); | |
117 | ||
118 | /* functions from look.c */ | |
119 | ||
120 | extern ndptr lookup(); | |
121 | extern ndptr addent(); | |
122 | extern void remhash(); | |
123 | extern void addkywd(); | |
124 | ||
125 | /* functions from int2str.c */ | |
126 | ||
127 | extern char* int2str(/* char*, int, long */); | |
128 | ||
129 | /* functions from serv.c */ | |
130 | ||
131 | extern void expand(); | |
132 | extern void dodefine(); | |
133 | extern void dopushdef(); | |
134 | extern void dodefn(); | |
135 | extern void dodump(); | |
136 | extern void doifelse(); | |
137 | extern int doincl(); | |
138 | extern void dochq(); | |
139 | extern void dochc(); | |
140 | extern void dodiv(); | |
141 | extern void doundiv(); | |
142 | extern void dosub(); | |
143 | extern void map(); | |
144 | #ifdef EXTENDED | |
145 | extern int dopaste(); | |
146 | extern void m4trim(); | |
147 | extern void dodefqt(); | |
148 | extern void doqutr(); | |
149 | #endif | |
150 | ||
151 | /* functions from expr.c */ | |
152 | ||
153 | extern long expr(); | |
154 | ||
155 | #endif | |
156 | #endif |