aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/include/ndpi_api.h1
-rw-r--r--src/lib/ndpi_filter.c12
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);