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