1 #ifndef _STRLIST_H
2 #define _STRLIST_H
3 
4 #if defined(HAVE_PCREPOSIX)
5 #include <pcreposix.h>
6 #else
7 #include <regex.h>
8 #endif
9 
10 typedef struct strlist strlist_t;
11 
12 struct strlist
13 {
14 	long flag;
15 	char *path;
16 	regex_t *re;
17 	strlist_t *next;
18 };
19 
20 extern void strlists_free(struct strlist **strlist);
21 extern int strlist_add(struct strlist **strlist,
22 	const char *path, long flag);
23 extern int strlist_add_sorted(struct strlist **strlist,
24 	const char *path, long flag);
25 extern int strlist_add_sorted_uniq(struct strlist **strlist,
26 	const char *path, long flag);
27 extern int strlist_compile_regexes(struct strlist *strlist);
28 extern int strlist_find(struct strlist *strlist, const char *path, long flag);
29 
30 #endif
31