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 REGEXP_H
9 #define 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  * The first byte of the regexp internal "program" is actually this magic
24  * number; the start node begins in the second byte.
25  */
26 #define	MAGIC	0234
27 
28 extern regexp  *regcomp(char *);
29 extern int      regexec(register regexp *, register char *);
30 #endif				/* REGEXP_H */
31