12#ifndef __JSON_DICTIONARY_H__
13#define __JSON_DICTIONARY_H__
16#include <libxml/parser.h>
40 JSON_DISPLAY_ABSOLUTE_TIME,
41 JSON_DISPLAY_RELATIVE_TIME,
52 json_field_type_t type;
53 json_display_type_t display_type;
63 bool case_insensitive;
64 GSList *wildcard_fields;
79 GSList *child_wildcards;
88 value_string_ext *types;
89 bool has_case_insensitive_fields;
90 GSList *path_matchers;
91 GSList *all_protocols;
94 bool has_any_protocol;
98 GSList *wildcard_regexes;
108 char **content_types;
110 bool path_case_sensitive;
121 bool has_case_insensitive_fields;
122 int hf_proto_present;
127#define XML_ELEMENT_DICTIONARY "json-dictionary"
128#define XML_ELEMENT_BASE "base"
129#define XML_ELEMENT_TYPEDEFN "typedefn"
130#define XML_ELEMENT_PROTOCOL "protocol"
131#define XML_ELEMENT_FIELD "field"
132#define XML_ELEMENT_ARRAY_ELEMENT "array-element"
133#define XML_ELEMENT_ENUM "enum"
134#define XML_ELEMENT_CONTENT_TYPE "content-type"
135#define XML_ELEMENT_WILDCARDFIELD "wildcardfield"
138#define XML_ATTR_NAME "name"
139#define XML_ATTR_VERSION "version"
140#define XML_ATTR_TYPE_NAME "type-name"
141#define XML_ATTR_BASE_TYPE "base-type"
142#define XML_ATTR_DISPLAY "display"
143#define XML_ATTR_DISPLAY_NAME "displayName"
144#define XML_ATTR_PORT "port"
145#define XML_ATTR_TRANSPORT "transport"
146#define XML_ATTR_PATH "path"
147#define XML_ATTR_TYPE "type"
148#define XML_ATTR_DESCRIPTION "description"
149#define XML_ATTR_VALUE "value"
150#define XML_ATTR_CODE "code"
151#define XML_ATTR_INFO "info"
152#define XML_ATTR_DF "df"
153#define XML_ATTR_PARSER "parser"
154#define XML_ATTR_PARSER_ARGS "parser-args"
155#define XML_ATTR_CASE "case"
156#define XML_ATTR_CONDITION "condition"
157#define XML_ATTR_DISPLAY_VALUE "displayvalue"
158#define XML_ATTR_MATCH "match"
170 xmlChar *description;
178 xmlChar *display_value;
180 GSList *child_fields;
181 GSList *child_wildcards;
188 xmlChar *description;
189 GSList *child_fields;
191 GSList *wildcard_children;
192 bool is_array_element;
194 xmlChar *display_filter;
196 xmlChar *parser_args;
202 xmlChar *display_name;
205 GSList *content_types;
209 xmlChar *condition_attr;
210} dict_protocol_def_t;
216void json_dictionary_cleanup(json_dictionary_t *dict);
221bool load_json_dictionary(
wmem_array_t *hf_array, GPtrArray *ett_array,
222 json_dictionary_t *dict);
225void dict_type_def_free(dict_type_def_t *type_def);
226void dict_enum_def_free(dict_enum_def_t *enum_def);
227void dict_field_def_free(dict_field_def_t *field_def);
228void dict_protocol_def_free(dict_protocol_def_t *proto_def);
struct _wmem_array_t wmem_array_t
Opaque type representing a dynamically resizable array in the wmem system.
Definition wmem_array.h:42
struct _wmem_tree_t wmem_tree_t
Opaque type representing a red-black tree in the wmem system.
Definition wmem_tree.h:49
Definition json-dictionary.h:167
Definition json-dictionary.h:184
Definition json-dictionary.h:200
Definition json-dictionary.h:161
Definition json-dictionary.h:174
Definition json-dictionary.h:85
Definition json-dictionary.h:48
Definition json-dictionary.h:103
Definition json-dictionary.h:72
struct _value_string value_string
Mapping between a 32-bit integer value and its string representation.