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