xref: /aosp_15_r20/external/libcups/vcnet/regex/regex.h (revision 5e7646d21f1134fb0638875d812ef646c12ab91e)
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