xref: /plan9/sys/src/ape/cmd/pax/regexp.h (revision 9a747e4fd48b9f4522c70c07e8f882a15030f964)
1 /*
2  * Definitions etc. for regexp(3) routines.
3  *
4  * Caveat:  this is V8 regexp(3) [actually, a reimplementation thereof],
5  * not the System V one.
6  */
7 
8 #ifndef _PAX_REGEXP_H
9 #define _PAX_REGEXP_H
10 
11 #define NSUBEXP  10
12 typedef struct regexp {
13 	char *startp[NSUBEXP];
14 	char *endp[NSUBEXP];
15 	char regstart;		/* Internal use only. */
16 	char reganch;		/* Internal use only. */
17 	char *regmust;		/* Internal use only. */
18 	int regmlen;		/* Internal use only. */
19 	char program[1];	/* Unwarranted chumminess with compiler. */
20 } regexp;
21 
22 
23 /*
24  * The first byte of the regexp internal "program" is actually this magic
25  * number; the start node begins in the second byte.
26  */
27 #define	MAGIC	0234
28 
29 extern regexp *regcomp();
30 extern int regexec();
31 extern void regsub();
32 extern void regerror();
33 
34 #endif /* _PAX_REGEXP_H */
35