aboutsummaryrefslogtreecommitdiff
path: root/src/include/ndpi_api.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/ndpi_api.h')
-rw-r--r--src/include/ndpi_api.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/include/ndpi_api.h b/src/include/ndpi_api.h
index b20305e33..f4c2f6114 100644
--- a/src/include/ndpi_api.h
+++ b/src/include/ndpi_api.h
@@ -2147,6 +2147,9 @@ extern "C" {
u_int8_t class_id,
char *file_path);
bool ndpi_domain_classify_finalize(ndpi_domain_classify *s);
+ const char* ndpi_domain_classify_longest_prefix(ndpi_domain_classify *s,
+ u_int8_t *class_id /* out */,
+ const char *hostnname);
bool ndpi_domain_classify_contains(ndpi_domain_classify *s,
u_int8_t *class_id /* out */,
const char *domain);
@@ -2188,6 +2191,8 @@ extern "C" {
/**
* Get user data which was previously set with `ndpi_set_user_data()`.
*
+ * @par ndpi_str = the struct created for the protocol detection
+ *
* @return the user data pointer
*
*/
@@ -2195,6 +2200,36 @@ extern "C" {
/* ******************************* */
+ /**
+ * Loads the domain suffixes from the specified path. You need to
+ * perform this action once
+ *
+ * @par ndpi_str = the struct created for the protocol detection
+ * @par public_suffix_list_path = path of the public_suffix_list path
+ *
+ * @return 0 = no error, -1 otherwise
+ *
+ */
+ int ndpi_load_domain_suffixes(struct ndpi_detection_module_struct *ndpi_str,
+ char *public_suffix_list_path);
+
+ /**
+ * Returns the domain suffix out of the specified hostname.
+ * The returned pointer is an offset of the original hostname.
+ * Note that you need to call ndpi_load_domain_suffixes() before
+ * calling this function.
+ *
+ * @par ndpi_str = the struct created for the protocol detection
+ * @par hostname = the hostname from which the domain name has to be extracted
+ *
+ * @return The host domain name or the hostitself if not found.
+ *
+ */
+ const char* ndpi_get_host_domain_suffix(struct ndpi_detection_module_struct *ndpi_str,
+ const char *hostname);
+
+ /* ******************************* */
+
/* Can't call libc functions from kernel space, define some stub instead */
#define ndpi_isalpha(ch) (((ch) >= 'a' && (ch) <= 'z') || ((ch) >= 'A' && (ch) <= 'Z'))