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 8#ifndef REGEXP_H 9#define REGEXP_H 10 11 12/* 13http://www.opensource.apple.com/darwinsource/10.3/expect-1/expect/expect.h , 14which contains a version of this library, says: 15 16 * 17 * NSUBEXP must be at least 10, and no greater than 117 or the parser 18 * will not work properly. 19 * 20 21However, it looks rather like this library is limited to 10. If you think 22otherwise, let us know. 23*/ 24 25#define NSUBEXP 10 26typedef struct regexp { 27 char *startp[NSUBEXP]; 28 char *endp[NSUBEXP]; 29 char regstart; /* Internal use only. */ 30 char reganch; /* Internal use only. */ 31 char *regmust; /* Internal use only. */ 32 int regmlen; /* Internal use only. */ 33 char program[1]; /* Unwarranted chumminess with compiler. */ 34} regexp; 35 36regexp * regcomp(char *exp, int *patternsize); 37int regexec(regexp *prog, char *string); 38void regsub(regexp *prog, char *source, char *dest); 39void regerror(char *s); 40 41#endif 42