1#ifndef _REGEX_H
2#include <posix/regex.h>
3
4/* Document internal interfaces.  */
5extern reg_syntax_t __re_set_syntax _RE_ARGS ((reg_syntax_t syntax));
6
7extern const char *__re_compile_pattern
8  _RE_ARGS ((const char *pattern, size_t length,
9             struct re_pattern_buffer *buffer));
10
11extern int __re_compile_fastmap _RE_ARGS ((struct re_pattern_buffer *buffer));
12
13extern int __re_search
14  _RE_ARGS ((struct re_pattern_buffer *buffer, const char *string,
15            int length, int start, int range, struct re_registers *regs));
16
17extern int __re_search_2
18  _RE_ARGS ((struct re_pattern_buffer *buffer, const char *string1,
19             int length1, const char *string2, int length2,
20             int start, int range, struct re_registers *regs, int stop));
21
22extern int __re_match
23  _RE_ARGS ((struct re_pattern_buffer *buffer, const char *string,
24             int length, int start, struct re_registers *regs));
25
26extern int __re_match_2
27  _RE_ARGS ((struct re_pattern_buffer *buffer, const char *string1,
28             int length1, const char *string2, int length2,
29             int start, struct re_registers *regs, int stop));
30
31extern void __re_set_registers
32  _RE_ARGS ((struct re_pattern_buffer *buffer, struct re_registers *regs,
33             unsigned num_regs, regoff_t *starts, regoff_t *ends));
34
35extern int __regcomp _RE_ARGS ((regex_t *__preg, const char *__pattern,
36				int __cflags));
37
38extern int __regexec _RE_ARGS ((const regex_t *__preg,
39				const char *__string, size_t __nmatch,
40				regmatch_t __pmatch[], int __eflags));
41
42extern size_t __regerror _RE_ARGS ((int __errcode, const regex_t *__preg,
43				    char *__errbuf, size_t __errbuf_size));
44
45extern void __regfree _RE_ARGS ((regex_t *__preg));
46#endif
47