xref: /original-bsd/usr.bin/m4/extern.h (revision 2598cae2)
1 /*-
2  * Copyright (c) 1991, 1993
3  *	The Regents of the University of California.  All rights reserved.
4  *
5  * This code is derived from software contributed to Berkeley by
6  * Ozan Yigit at York University.
7  *
8  * %sccs.include.redist.c%
9  *
10  *	@(#)extern.h	8.1 (Berkeley) 06/06/93
11  */
12 
13 char	*basename __P((char *));
14 char	*xalloc __P((unsigned long));
15 int	expr __P((char *));
16 ndptr	addent __P((char *));
17 void	chrsave __P((int));
18 void	dochc __P((char *[], int));
19 void	dochq __P((char *[], int));
20 void	dodefine __P((char *, char *));
21 void	dodefn __P((char *));
22 void	dodiv __P((int));
23 void	dodump __P((char *[], int));
24 void	doifelse __P((char *[], int));
25 int	doincl __P((char *));
26 int	dopaste __P((char *));
27 void	dopushdef __P((char *, char *));
28 void	dosub __P((char *[], int));
29 void	doundiv __P((char *[], int));
30 void	eval __P((char *[], int, int));
31 void	expand __P((char *[], int));
32 void	getdiv __P((int));
33 char	*xstrdup __P((const char *));
34 int	hash __P((char *));
35 int	indx __P((char *, char *));
36 void	killdiv __P((void));
37 ndptr	lookup __P((char *));
38 void	map __P((char *, char *, char *, char *));
39 void	onintr __P((int));
40 void	oops __P((const char *, ...));
41 void	pbnum __P((int));
42 void	pbstr __P((char *));
43 void	putback __P((int));
44 void	remhash __P((char *, int));
45 void	usage __P((void));
46 
47 extern ndptr hashtab[];		/* hash table for macros etc. */
48 extern stae mstack[];		/* stack of m4 machine */
49 extern FILE *active;		/* active output file pointer */
50 extern FILE *infile[];		/* input file stack (0=stdin) */
51 extern FILE *outfile[];		/* diversion array(0=bitbucket) */
52 extern int fp; 			/* m4 call frame pointer */
53 extern int ilevel;		/* input file stack pointer */
54 extern int oindex;		/* diversion index. */
55 extern int sp;			/* current m4 stack pointer */
56 extern char *bp;		/* first available character */
57 extern char buf[];		/* push-back buffer */
58 extern char *bufbase;		/* buffer base for this ilevel */
59 extern char *bbase[];		/* buffer base per ilevel */
60 extern char ecommt;		/* end character for comment */
61 extern char *endest;		/* end of string space */
62 extern char *endpbb;		/* end of push-back buffer */
63 extern char *ep;		/* first free char in strspace */
64 extern char lquote;		/* left quote character (`) */
65 extern char *m4temp;		/* filename for diversions */
66 extern char *m4wraps;		/* m4wrap string default. */
67 extern char *null;		/* as it says.. just a null. */
68 extern char *progname;		/* program name */
69 extern char rquote;		/* right quote character (') */
70 extern char scommt;		/* start character for comment */
71