aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Deri <deri@ntop.org>2020-07-16 11:22:06 +0200
committerLuca Deri <deri@ntop.org>2020-07-16 11:22:06 +0200
commitacd05b171eee29d50a112179d847371b5466cec1 (patch)
treee9461bc44a146ae2228461f85a91f89be42ba8f4
parent46e97d5da394aed103b6e41336699c7209fb03b0 (diff)
Added ndpi_data_last() API call
-rw-r--r--src/include/ndpi_api.h.in1
-rw-r--r--src/lib/ndpi_analyze.c10
2 files changed, 11 insertions, 0 deletions
diff --git a/src/include/ndpi_api.h.in b/src/include/ndpi_api.h.in
index 5d77d6221..8e9df55b8 100644
--- a/src/include/ndpi_api.h.in
+++ b/src/include/ndpi_api.h.in
@@ -1040,6 +1040,7 @@ extern "C" {
float ndpi_data_entropy(struct ndpi_analyze_struct *s);
float ndpi_data_variance(struct ndpi_analyze_struct *s);
float ndpi_data_stddev(struct ndpi_analyze_struct *s);
+ u_int32_t ndpi_data_last(struct ndpi_analyze_struct *s);
u_int32_t ndpi_data_min(struct ndpi_analyze_struct *s);
u_int32_t ndpi_data_max(struct ndpi_analyze_struct *s);
float ndpi_data_ratio(u_int32_t sent, u_int32_t rcvd);
diff --git a/src/lib/ndpi_analyze.c b/src/lib/ndpi_analyze.c
index 7d4aa5f47..489b402f6 100644
--- a/src/lib/ndpi_analyze.c
+++ b/src/lib/ndpi_analyze.c
@@ -112,6 +112,16 @@ float ndpi_data_average(struct ndpi_analyze_struct *s) {
/* ********************************************************************************* */
+u_int32_t ndpi_data_last(struct ndpi_analyze_struct *s) {
+ if((s->num_data_entries == 0) || (s->sum_total == 0))
+ return(0);
+
+ if(s->next_value_insert_index == 0)
+ return(s->values[s->num_values_array_len-1]);
+ else
+ return(s->values[s->next_value_insert_index-1]);
+}
+
/* Return min/max on all values */
u_int32_t ndpi_data_min(struct ndpi_analyze_struct *s) { return(s->min_val); }
u_int32_t ndpi_data_max(struct ndpi_analyze_struct *s) { return(s->max_val); }