/* * Definitions etc. for regexp(3) routines. * * Caveat: this is V8 regexp(3) [actually, a reimplementation thereof], * not the System V one. */ #ifndef REGEXP_DWA20011023_H #define REGEXP_DWA20011023_H #define NSUBEXP 10 typedef struct regexp { char const * startp[ NSUBEXP ]; char const * endp[ NSUBEXP ]; char regstart; /* Internal use only. */ char reganch; /* Internal use only. */ char * regmust; /* Internal use only. */ int regmlen; /* Internal use only. */ char program[ 1 ]; /* Unwarranted chumminess with compiler. */ } regexp; regexp * regcomp( char const * exp ); int regexec( regexp * prog, char const * string ); void regerror( char const * s ); /* * The first byte of the regexp internal "program" is actually this magic * number; the start node begins in the second byte. */ #define MAGIC 0234 #endif