|
1 /* |
|
2 * regex_parser.h |
|
3 * |
|
4 * Created on: 26.01.2012 |
|
5 * Author: Mike |
|
6 */ |
|
7 |
|
8 #ifndef REGEX_PARSER_H_ |
|
9 #define REGEX_PARSER_H_ |
|
10 |
|
11 #define REGEX_MAX_LINELENGTH 2048 |
|
12 |
|
13 #include <sys/types.h> |
|
14 #include <stdbool.h> |
|
15 #include <regex.h> |
|
16 #include "string_list.h" |
|
17 |
|
18 typedef struct { |
|
19 string_list_t* pattern_list; /* even entries: start ; odd entries: end */ |
|
20 regex_t** compiled_patterns; |
|
21 unsigned int pattern_match; /* save position of end pattern to match - |
|
22 NULL when a start pattern shall match first */ |
|
23 unsigned int matched_lines; |
|
24 } regex_parser_t; |
|
25 |
|
26 #ifdef _cplusplus |
|
27 extern "C" { |
|
28 #endif |
|
29 |
|
30 regex_parser_t* new_regex_parser_t(); |
|
31 void destroy_regex_parser_t(regex_parser_t*); |
|
32 |
|
33 bool regex_parser_matching(regex_parser_t*); |
|
34 void regex_compile_all(regex_parser_t*); |
|
35 |
|
36 #ifdef _cplusplus |
|
37 } |
|
38 #endif |
|
39 |
|
40 #endif /* REGEX_PARSER_H_ */ |