regex_parser.h

Thu, 02 Feb 2012 16:55:51 +0100

author
Mike Becker <universe@uap-core.de>
date
Thu, 02 Feb 2012 16:55:51 +0100
changeset 29
fa625066ae52
parent 28
72a98cbcb9f1
permissions
-rw-r--r--

fixed author note

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

mercurial