17 #include <epan/address.h> 18 #include <epan/wmem/wmem.h> 45 enum { OD_ENTRY_SCALAR = 7, OD_ENTRY_ARRAY = 8, OD_ENTRY_RECORD = 9 };
59 const struct epl_datatype *type;
62 #define OD_ENTRY_INITIALIZER { 0, 0, { 0 }, 0, 0 } 68 #define SUBOBJECT_INITIALIZER { RANGE_ADMIN_T_INITIALIZER, OD_ENTRY_INITIALIZER } 74 epl_wmem_iarray_t *subindices;
79 const struct epl_datatype *epl_type_to_hf(
const char *name);
81 static inline gboolean
82 subobject_equal(gconstpointer _a, gconstpointer _b)
87 return a->type_class == b->type_class
89 && g_str_equal(a->name, b->name);
92 void epl_xdd_init(
void);
95 void epl_eds_init(
void);
96 struct profile *epl_eds_load(
struct profile *profile,
const char *eds_file);
99 struct object *epl_profile_object_add(
struct profile *profile, guint16 idx);
100 struct object *epl_profile_object_lookup_or_add(
struct profile *profile, guint16 idx);
102 gboolean epl_profile_object_mapping_add(
struct profile *profile, guint16 idx, guint8 subindex, guint64 mapping);
103 gboolean epl_profile_object_mappings_update(
struct profile *profile);
105 range_admin_t * epl_wmem_iarray_find(epl_wmem_iarray_t *arr, guint32 value);
106 gboolean epl_wmem_iarray_is_empty(epl_wmem_iarray_t *iarr);
107 gboolean epl_wmem_iarray_is_sorted(epl_wmem_iarray_t *iarr);
109 #define EPL_OBJECT_MAPPING_SIZE ((guint)sizeof (guint64)) 111 #define CHECK_OVERLAP_ENDS(x1, x2, y1, y2) ((x1) < (y2) && (y1) < (x2)) 112 #define CHECK_OVERLAP_LENGTH(x, x_len, y, y_len) \ 113 CHECK_OVERLAP_ENDS((x), (x) + (x_len), (y), (y) + (y_len)) Definition: packet-epl.h:64
Definition: packet-epl.h:23
Definition: wmem_map.c:44
Definition: wmem_array.c:27
Definition: packet-epl.h:72
Definition: packet-epl-profile-parser.c:126
Definition: wmem_allocator.h:26
Definition: packet-epl.h:46