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