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