1*cda5da8dSAndroid Build Coastguard Worker #ifndef _REGEX_H 2*cda5da8dSAndroid Build Coastguard Worker #define _REGEX_H 3*cda5da8dSAndroid Build Coastguard Worker 4*cda5da8dSAndroid Build Coastguard Worker #ifdef __cplusplus 5*cda5da8dSAndroid Build Coastguard Worker extern "C" { 6*cda5da8dSAndroid Build Coastguard Worker #endif 7*cda5da8dSAndroid Build Coastguard Worker 8*cda5da8dSAndroid Build Coastguard Worker #include <features.h> 9*cda5da8dSAndroid Build Coastguard Worker 10*cda5da8dSAndroid Build Coastguard Worker #define __NEED_regoff_t 11*cda5da8dSAndroid Build Coastguard Worker #define __NEED_size_t 12*cda5da8dSAndroid Build Coastguard Worker 13*cda5da8dSAndroid Build Coastguard Worker #include <bits/alltypes.h> 14*cda5da8dSAndroid Build Coastguard Worker 15*cda5da8dSAndroid Build Coastguard Worker typedef struct re_pattern_buffer { 16*cda5da8dSAndroid Build Coastguard Worker size_t re_nsub; 17*cda5da8dSAndroid Build Coastguard Worker void *__opaque, *__padding[4]; 18*cda5da8dSAndroid Build Coastguard Worker size_t __nsub2; 19*cda5da8dSAndroid Build Coastguard Worker char __padding2; 20*cda5da8dSAndroid Build Coastguard Worker } regex_t; 21*cda5da8dSAndroid Build Coastguard Worker 22*cda5da8dSAndroid Build Coastguard Worker typedef struct { 23*cda5da8dSAndroid Build Coastguard Worker regoff_t rm_so; 24*cda5da8dSAndroid Build Coastguard Worker regoff_t rm_eo; 25*cda5da8dSAndroid Build Coastguard Worker } regmatch_t; 26*cda5da8dSAndroid Build Coastguard Worker 27*cda5da8dSAndroid Build Coastguard Worker #define REG_EXTENDED 1 28*cda5da8dSAndroid Build Coastguard Worker #define REG_ICASE 2 29*cda5da8dSAndroid Build Coastguard Worker #define REG_NEWLINE 4 30*cda5da8dSAndroid Build Coastguard Worker #define REG_NOSUB 8 31*cda5da8dSAndroid Build Coastguard Worker 32*cda5da8dSAndroid Build Coastguard Worker #define REG_NOTBOL 1 33*cda5da8dSAndroid Build Coastguard Worker #define REG_NOTEOL 2 34*cda5da8dSAndroid Build Coastguard Worker 35*cda5da8dSAndroid Build Coastguard Worker #define REG_OK 0 36*cda5da8dSAndroid Build Coastguard Worker #define REG_NOMATCH 1 37*cda5da8dSAndroid Build Coastguard Worker #define REG_BADPAT 2 38*cda5da8dSAndroid Build Coastguard Worker #define REG_ECOLLATE 3 39*cda5da8dSAndroid Build Coastguard Worker #define REG_ECTYPE 4 40*cda5da8dSAndroid Build Coastguard Worker #define REG_EESCAPE 5 41*cda5da8dSAndroid Build Coastguard Worker #define REG_ESUBREG 6 42*cda5da8dSAndroid Build Coastguard Worker #define REG_EBRACK 7 43*cda5da8dSAndroid Build Coastguard Worker #define REG_EPAREN 8 44*cda5da8dSAndroid Build Coastguard Worker #define REG_EBRACE 9 45*cda5da8dSAndroid Build Coastguard Worker #define REG_BADBR 10 46*cda5da8dSAndroid Build Coastguard Worker #define REG_ERANGE 11 47*cda5da8dSAndroid Build Coastguard Worker #define REG_ESPACE 12 48*cda5da8dSAndroid Build Coastguard Worker #define REG_BADRPT 13 49*cda5da8dSAndroid Build Coastguard Worker 50*cda5da8dSAndroid Build Coastguard Worker #define REG_ENOSYS -1 51*cda5da8dSAndroid Build Coastguard Worker 52*cda5da8dSAndroid Build Coastguard Worker int regcomp(regex_t *__restrict, const char *__restrict, int); 53*cda5da8dSAndroid Build Coastguard Worker int regexec(const regex_t *__restrict, const char *__restrict, size_t, regmatch_t *__restrict, int); 54*cda5da8dSAndroid Build Coastguard Worker void regfree(regex_t *); 55*cda5da8dSAndroid Build Coastguard Worker 56*cda5da8dSAndroid Build Coastguard Worker size_t regerror(int, const regex_t *__restrict, char *__restrict, size_t); 57*cda5da8dSAndroid Build Coastguard Worker 58*cda5da8dSAndroid Build Coastguard Worker #ifdef __cplusplus 59*cda5da8dSAndroid Build Coastguard Worker } 60*cda5da8dSAndroid Build Coastguard Worker #endif 61*cda5da8dSAndroid Build Coastguard Worker 62*cda5da8dSAndroid Build Coastguard Worker #endif 63