/*
* Definitions etc. for regexp(3) routines.
*
* Caveat:  this is V8 regexp(3) [actually, a reimplementation thereof],
* not the System V one.
*/
#define NSUBEXP  10
typedef struct {
       char *startp[NSUBEXP];
       char *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. */
} reg_exp;

extern reg_exp *reg_comp();
extern int reg_exec();
extern int reg_try();
extern void reg_sub();
extern void reg_error();

/*
* The first byte of the regexp internal "program" is actually this magic
* number; the start node begins in the second byte.
*/
#define MAGIC   0234