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