1a5f0fb15SPaul Saab /* 2a5f0fb15SPaul Saab * Definitions etc. for regexp(3) routines. 3a5f0fb15SPaul Saab * 4a5f0fb15SPaul Saab * Caveat: this is V8 regexp(3) [actually, a reimplementation thereof], 5a5f0fb15SPaul Saab * not the System V one. 6a5f0fb15SPaul Saab */ 7a5f0fb15SPaul Saab 8a5f0fb15SPaul Saab #ifndef _REGEXP 9a5f0fb15SPaul Saab #define _REGEXP 1 10a5f0fb15SPaul Saab 11a5f0fb15SPaul Saab #define NSUBEXP 10 12a5f0fb15SPaul Saab typedef struct regexp { 13a5f0fb15SPaul Saab char *startp[NSUBEXP]; 14a5f0fb15SPaul Saab char *endp[NSUBEXP]; 15a5f0fb15SPaul Saab char regstart; /* Internal use only. */ 16a5f0fb15SPaul Saab char reganch; /* Internal use only. */ 17a5f0fb15SPaul Saab char *regmust; /* Internal use only. */ 18a5f0fb15SPaul Saab int regmlen; /* Internal use only. */ 19a5f0fb15SPaul Saab char program[1]; /* Unwarranted chumminess with compiler. */ 20a5f0fb15SPaul Saab } regexp; 21a5f0fb15SPaul Saab 22a5f0fb15SPaul Saab #if defined(__STDC__) || defined(__cplusplus) 23a5f0fb15SPaul Saab # define _ANSI_ARGS_(x) x 24a5f0fb15SPaul Saab #else 25a5f0fb15SPaul Saab # define _ANSI_ARGS_(x) () 26a5f0fb15SPaul Saab #endif 27a5f0fb15SPaul Saab 28a5f0fb15SPaul Saab extern regexp *regcomp _ANSI_ARGS_((char *exp)); 29a5f0fb15SPaul Saab extern int regexec _ANSI_ARGS_((regexp *prog, char *string)); 30a5f0fb15SPaul Saab extern int regexec2 _ANSI_ARGS_((regexp *prog, char *string, int notbol)); 31a5f0fb15SPaul Saab extern void regsub _ANSI_ARGS_((regexp *prog, char *source, char *dest)); 32a5f0fb15SPaul Saab extern void regerror _ANSI_ARGS_((char *msg)); 33a5f0fb15SPaul Saab 34a5f0fb15SPaul Saab #endif /* REGEXP */ 35