2
#define _REGEX_H_ /* never again */
3
/* ========= begin header generated by ./mkh ========= */
10
/* === regex2.h === */
12
typedef __int64 regoff_t;
14
typedef off_t regoff_t;
16
struct re_guts; /* none of your business :-) */
19
size_t re_nsub; /* number of parenthesized subexpressions */
20
const char *re_endp; /* end pointer for REG_PEND */
21
struct re_guts *re_g; /* none of your business :-) */
22
CHARSET_INFO *charset; /* For ctype things */
25
regoff_t rm_so; /* start of match */
26
regoff_t rm_eo; /* end of match */
30
/* === regcomp.c === */
31
extern int my_regcomp(my_regex_t *, const char *, int, CHARSET_INFO *charset);
32
#define REG_BASIC 0000
33
#define REG_EXTENDED 0001
34
#define REG_ICASE 0002
35
#define REG_NOSUB 0004
36
#define REG_NEWLINE 0010
37
#define REG_NOSPEC 0020
42
/* === regerror.c === */
45
#define REG_ECOLLATE 3
59
#define REG_ATOI 255 /* convert name to number (!) */
60
#define REG_ITOA 0400 /* convert number to name (!) */
61
extern size_t my_regerror(int, const my_regex_t *, char *, size_t);
64
/* === regexec.c === */
65
extern int my_regexec(const my_regex_t *, const char *, size_t, my_regmatch_t [], int);
66
#define REG_NOTBOL 00001
67
#define REG_NOTEOL 00002
68
#define REG_STARTEND 00004
69
#define REG_TRACE 00400 /* tracing of execution */
70
#define REG_LARGE 01000 /* force large representation */
71
#define REG_BACKR 02000 /* force use of backref code */
74
/* === regfree.c === */
75
extern void my_regfree(my_regex_t *);
77
/* === reginit.c === */
79
extern void my_regex_init(CHARSET_INFO *cs); /* Should be called for multithread progs */
80
extern void my_regex_end(void); /* If one wants a clean end */
85
/* ========= end header generated by ./mkh ========= */