X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Flib%2Flttng-ctl%2Ffilter%2Ffilter-ast.h;h=067624906d7ad5cd1fa8cc382c095dcd7e1f5387;hp=405c6686a4f5fd576e3033a4cfafe7086d2326ce;hb=661dfdd190c65bad5a044e21c1d5f9ad59144bf8;hpb=9039edd4983b46fc45dae7ed42396ef7f7e5635a diff --git a/src/lib/lttng-ctl/filter/filter-ast.h b/src/lib/lttng-ctl/filter/filter-ast.h index 405c6686a..067624906 100644 --- a/src/lib/lttng-ctl/filter/filter-ast.h +++ b/src/lib/lttng-ctl/filter/filter-ast.h @@ -95,6 +95,7 @@ enum ast_link_type { AST_LINK_UNKNOWN = 0, AST_LINK_DOT, AST_LINK_RARROW, + AST_LINK_BRACKET, }; struct filter_node { @@ -133,8 +134,9 @@ struct filter_node { */ struct filter_node *child; } u; - /* linked dot/arrow chain */ + /* prev: linked dot/arrow chain (postfix expression) */ struct filter_node *prev; + /* next: linked bracket chain (prefix expression) */ struct filter_node *next; } expression; struct { @@ -186,5 +188,8 @@ int filter_visitor_bytecode_generate(struct filter_parser_ctx *ctx); void filter_bytecode_free(struct filter_parser_ctx *ctx); int filter_visitor_ir_check_binary_op_nesting(struct filter_parser_ctx *ctx); int filter_visitor_ir_check_binary_comparator(struct filter_parser_ctx *ctx); +int filter_visitor_ir_validate_string(struct filter_parser_ctx *ctx); +int filter_visitor_ir_normalize_glob_patterns(struct filter_parser_ctx *ctx); +int filter_visitor_ir_validate_globbing(struct filter_parser_ctx *ctx); #endif /* _FILTER_AST_H */