1*5e7646d2SAndroid Build Coastguard Worker #ifndef _REGEX_H_ 2*5e7646d2SAndroid Build Coastguard Worker #define _REGEX_H_ /* never again */ 3*5e7646d2SAndroid Build Coastguard Worker /* ========= begin header generated by ./mkh ========= */ 4*5e7646d2SAndroid Build Coastguard Worker #ifdef __cplusplus 5*5e7646d2SAndroid Build Coastguard Worker extern "C" { 6*5e7646d2SAndroid Build Coastguard Worker #endif 7*5e7646d2SAndroid Build Coastguard Worker 8*5e7646d2SAndroid Build Coastguard Worker /* === regex2.h === */ 9*5e7646d2SAndroid Build Coastguard Worker typedef long regoff_t; 10*5e7646d2SAndroid Build Coastguard Worker typedef struct { 11*5e7646d2SAndroid Build Coastguard Worker int re_magic; 12*5e7646d2SAndroid Build Coastguard Worker size_t re_nsub; /* number of parenthesized subexpressions */ 13*5e7646d2SAndroid Build Coastguard Worker const char *re_endp; /* end pointer for REG_PEND */ 14*5e7646d2SAndroid Build Coastguard Worker struct re_guts *re_g; /* none of your business :-) */ 15*5e7646d2SAndroid Build Coastguard Worker } regex_t; 16*5e7646d2SAndroid Build Coastguard Worker typedef struct { 17*5e7646d2SAndroid Build Coastguard Worker regoff_t rm_so; /* start of match */ 18*5e7646d2SAndroid Build Coastguard Worker regoff_t rm_eo; /* end of match */ 19*5e7646d2SAndroid Build Coastguard Worker } regmatch_t; 20*5e7646d2SAndroid Build Coastguard Worker 21*5e7646d2SAndroid Build Coastguard Worker 22*5e7646d2SAndroid Build Coastguard Worker /* === regcomp.c === */ 23*5e7646d2SAndroid Build Coastguard Worker extern int regcomp(regex_t *, const char *, int); 24*5e7646d2SAndroid Build Coastguard Worker #define REG_BASIC 0000 25*5e7646d2SAndroid Build Coastguard Worker #define REG_EXTENDED 0001 26*5e7646d2SAndroid Build Coastguard Worker #define REG_ICASE 0002 27*5e7646d2SAndroid Build Coastguard Worker #define REG_NOSUB 0004 28*5e7646d2SAndroid Build Coastguard Worker #define REG_NEWLINE 0010 29*5e7646d2SAndroid Build Coastguard Worker #define REG_NOSPEC 0020 30*5e7646d2SAndroid Build Coastguard Worker #define REG_PEND 0040 31*5e7646d2SAndroid Build Coastguard Worker #define REG_DUMP 0200 32*5e7646d2SAndroid Build Coastguard Worker 33*5e7646d2SAndroid Build Coastguard Worker 34*5e7646d2SAndroid Build Coastguard Worker /* === regerror.c === */ 35*5e7646d2SAndroid Build Coastguard Worker #define REG_OKAY 0 36*5e7646d2SAndroid Build Coastguard Worker #define REG_NOMATCH 1 37*5e7646d2SAndroid Build Coastguard Worker #define REG_BADPAT 2 38*5e7646d2SAndroid Build Coastguard Worker #define REG_ECOLLATE 3 39*5e7646d2SAndroid Build Coastguard Worker #define REG_ECTYPE 4 40*5e7646d2SAndroid Build Coastguard Worker #define REG_EESCAPE 5 41*5e7646d2SAndroid Build Coastguard Worker #define REG_ESUBREG 6 42*5e7646d2SAndroid Build Coastguard Worker #define REG_EBRACK 7 43*5e7646d2SAndroid Build Coastguard Worker #define REG_EPAREN 8 44*5e7646d2SAndroid Build Coastguard Worker #define REG_EBRACE 9 45*5e7646d2SAndroid Build Coastguard Worker #define REG_BADBR 10 46*5e7646d2SAndroid Build Coastguard Worker #define REG_ERANGE 11 47*5e7646d2SAndroid Build Coastguard Worker #define REG_ESPACE 12 48*5e7646d2SAndroid Build Coastguard Worker #define REG_BADRPT 13 49*5e7646d2SAndroid Build Coastguard Worker #define REG_EMPTY 14 50*5e7646d2SAndroid Build Coastguard Worker #define REG_ASSERT 15 51*5e7646d2SAndroid Build Coastguard Worker #define REG_INVARG 16 52*5e7646d2SAndroid Build Coastguard Worker #define REG_ATOI 255 /* convert name to number (!) */ 53*5e7646d2SAndroid Build Coastguard Worker #define REG_ITOA 0400 /* convert number to name (!) */ 54*5e7646d2SAndroid Build Coastguard Worker extern size_t regerror(int, const regex_t *, char *, size_t); 55*5e7646d2SAndroid Build Coastguard Worker 56*5e7646d2SAndroid Build Coastguard Worker 57*5e7646d2SAndroid Build Coastguard Worker /* === regexec.c === */ 58*5e7646d2SAndroid Build Coastguard Worker extern int regexec(const regex_t *, const char *, size_t, regmatch_t [], int); 59*5e7646d2SAndroid Build Coastguard Worker #define REG_NOTBOL 00001 60*5e7646d2SAndroid Build Coastguard Worker #define REG_NOTEOL 00002 61*5e7646d2SAndroid Build Coastguard Worker #define REG_STARTEND 00004 62*5e7646d2SAndroid Build Coastguard Worker #define REG_TRACE 00400 /* tracing of execution */ 63*5e7646d2SAndroid Build Coastguard Worker #define REG_LARGE 01000 /* force large representation */ 64*5e7646d2SAndroid Build Coastguard Worker #define REG_BACKR 02000 /* force use of backref code */ 65*5e7646d2SAndroid Build Coastguard Worker 66*5e7646d2SAndroid Build Coastguard Worker 67*5e7646d2SAndroid Build Coastguard Worker /* === regfree.c === */ 68*5e7646d2SAndroid Build Coastguard Worker extern void regfree(regex_t *); 69*5e7646d2SAndroid Build Coastguard Worker 70*5e7646d2SAndroid Build Coastguard Worker #ifdef __cplusplus 71*5e7646d2SAndroid Build Coastguard Worker } 72*5e7646d2SAndroid Build Coastguard Worker #endif 73*5e7646d2SAndroid Build Coastguard Worker /* ========= end header generated by ./mkh ========= */ 74*5e7646d2SAndroid Build Coastguard Worker #endif 75