aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/include/ndpi_api.h15
-rw-r--r--src/lib/ndpi_main.c16
2 files changed, 29 insertions, 2 deletions
diff --git a/src/include/ndpi_api.h b/src/include/ndpi_api.h
index 2062974ad..9fbabc5f7 100644
--- a/src/include/ndpi_api.h
+++ b/src/include/ndpi_api.h
@@ -533,14 +533,25 @@ extern "C" {
* Return the ID of the protocol
*
* @par ndpi_mod = the detection module
- * @par proto = the ID of the protocol
- * @return the string name of the breed ID
+ * @par proto = the protocol name
+ * @return the ID of the protocol
*
*/
int ndpi_get_protocol_id(struct ndpi_detection_module_struct *ndpi_mod, char *proto);
/**
+ * Return the ID of the category
+ *
+ * @par ndpi_mod = the detection module
+ * @par proto = the category name
+ * @return the ID of the category
+ *
+ */
+ int ndpi_get_category_id(struct ndpi_detection_module_struct *ndpi_mod, char *cat);
+
+
+ /**
* Write the list of the supported protocols
*
* @par ndpi_mod = the detection module
diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c
index 3405779e7..0288c3e9f 100644
--- a/src/lib/ndpi_main.c
+++ b/src/lib/ndpi_main.c
@@ -4676,6 +4676,7 @@ void ndpi_category_set_name(struct ndpi_detection_module_struct *ndpi_mod,
/* ****************************************************** */
+/* Keep it in order and in sync with ndpi_protocol_category_t in ndpi_typedefs.h */
static const char* categories[] = {
"Unspecified",
"Media",
@@ -4807,6 +4808,21 @@ int ndpi_get_protocol_id(struct ndpi_detection_module_struct *ndpi_mod, char *pr
/* ****************************************************** */
+int ndpi_get_category_id(struct ndpi_detection_module_struct *ndpi_mod, char *cat) {
+ int i;
+ const char *name;
+
+ for(i = 0; i < NDPI_PROTOCOL_NUM_CATEGORIES; i++) {
+ name = ndpi_category_get_name(ndpi_mod, i);
+ if(strcasecmp(cat, name) == 0)
+ return(i);
+ }
+
+ return(-1);
+}
+
+/* ****************************************************** */
+
void ndpi_dump_protocols(struct ndpi_detection_module_struct *ndpi_mod) {
int i;
for(i=0; i<(int)ndpi_mod->ndpi_num_supported_protocols; i++)