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 #ifndef REGEXP_DWA20011023_H
8 #define REGEXP_DWA20011023_H
9 
10 #include "config.h"
11 
12 #define NSUBEXP  10
13 typedef struct regexp {
14     char const * startp[ NSUBEXP ];
15     char const * endp[ NSUBEXP ];
16     char regstart;      /* Internal use only. */
17     char reganch;       /* Internal use only. */
18     char * regmust;     /* Internal use only. */
19     int regmlen;        /* Internal use only. */
20     char program[ 1 ];  /* Unwarranted chumminess with compiler. */
21 } regexp;
22 
23 
24 regexp * regcomp( char const * exp );
25 int regexec( regexp * prog, char const * string );
26 void regerror( char const * s );
27 
28 
29 /*
30  * The first byte of the regexp internal "program" is actually this magic
31  * number; the start node begins in the second byte.
32  */
33 #define MAGIC  0234
34 
35 #endif
36 
37