From cbd7136b3480774a10f18744d33d3694ffee221b Mon Sep 17 00:00:00 2001 From: Ivan Nardi <12729895+IvanNardi@users.noreply.github.com> Date: Mon, 9 Jun 2025 09:00:17 +0200 Subject: Remove `NDPI_PROTOCOL_BITMASK`; add a new generic bitmask data structure (#2871) The main difference is that the memory is allocated at runtime Typical usercase: ``` struct ndpi_bitmask b; ndpi_bitmask_alloc(&b, ndpi_get_num_internal_protocols()); ndpi_bitmask_set(&b, $BIT); ndpi_bitmask_is_set(&b, $BIT); [...] ndpi_bitmask_dealloc(&b); ``` See #2136 --- example/reader_util.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'example/reader_util.c') diff --git a/example/reader_util.c b/example/reader_util.c index 3c0819b7e..37db86990 100644 --- a/example/reader_util.c +++ b/example/reader_util.c @@ -337,7 +337,7 @@ void ndpi_free_flow_info_half(struct ndpi_flow_info *flow) { /* ***************************************************** */ static char _proto_delim[] = " \t,:;"; -int parse_proto_name_list(char *str, NDPI_INTERNAL_PROTOCOL_BITMASK *bitmask, int inverted_logic) { +int parse_proto_name_list(char *str, struct ndpi_bitmask *bitmask, int inverted_logic) { char *n; uint16_t proto; char op; @@ -366,9 +366,9 @@ int parse_proto_name_list(char *str, NDPI_INTERNAL_PROTOCOL_BITMASK *bitmask, in } if(!strcmp(n,"all")) { if(op) - NDPI_INTERNAL_PROTOCOL_SET_ALL(*bitmask); + ndpi_bitmask_set_all(bitmask); else - NDPI_INTERNAL_PROTOCOL_RESET(*bitmask); + ndpi_bitmask_reset(bitmask); continue; } proto = ndpi_get_proto_by_name(module, n); @@ -378,9 +378,9 @@ int parse_proto_name_list(char *str, NDPI_INTERNAL_PROTOCOL_BITMASK *bitmask, in return 1; } if(op) - NDPI_INTERNAL_PROTOCOL_ADD(*bitmask,proto); + ndpi_bitmask_set(bitmask, proto); else - NDPI_INTERNAL_PROTOCOL_DEL(*bitmask,proto); + ndpi_bitmask_clear(bitmask, proto); } ndpi_exit_detection_module(module); @@ -410,7 +410,7 @@ struct ndpi_workflow* ndpi_workflow_init(const struct ndpi_workflow_prefs * pref pcap_t * pcap_handle, int do_init_flows_root, ndpi_serialization_format serialization_format, struct ndpi_global_context *g_ctx, - NDPI_INTERNAL_PROTOCOL_BITMASK *enabled_bitmask) { + struct ndpi_bitmask *enabled_bitmask) { struct ndpi_detection_module_struct * module; struct ndpi_workflow * workflow; -- cgit v1.2.3