diff options
-rw-r--r-- | src/include/ndpi_api.h | 1 | ||||
-rw-r--r-- | src/lib/ndpi_filter.c | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/include/ndpi_api.h b/src/include/ndpi_api.h index 9030cb6d0..0e519cbf5 100644 --- a/src/include/ndpi_api.h +++ b/src/include/ndpi_api.h @@ -1996,6 +1996,7 @@ extern "C" { ndpi_filter* ndpi_filter_alloc(uint32_t elements_number); bool ndpi_filter_add(ndpi_filter *f, uint64_t value); /* returns true on success, false on failure */ + bool ndpi_filter_add_multi(ndpi_filter *f, uint64_t *values, u_int32_t num_values); /* Add multiple values */ bool ndpi_filter_contains(ndpi_filter *f, uint64_t value); /* returns true on success, false on failure */ void ndpi_filter_free(ndpi_filter *f); diff --git a/src/lib/ndpi_filter.c b/src/lib/ndpi_filter.c index 989eb9317..579d49638 100644 --- a/src/lib/ndpi_filter.c +++ b/src/lib/ndpi_filter.c @@ -68,6 +68,18 @@ bool ndpi_filter_add(ndpi_filter *f, uint64_t value) { /* ******************************************* */ +bool ndpi_filter_add_multi(ndpi_filter *f, uint64_t *values, u_int32_t num_values) { + if(!f) + return(false); + else { + binary_fuse8_t *filter = (binary_fuse8_t*)f; + + return(binary_fuse8_populate(values, num_values, filter)); + } +} + +/* ******************************************* */ + bool ndpi_filter_contains(ndpi_filter *f, uint64_t value) { if(!f) return(false); |