aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Deri <deri@ntop.org>2019-09-10 22:45:52 +0200
committerLuca Deri <deri@ntop.org>2019-09-10 22:45:52 +0200
commitb1583cc29efe9696bd3308b249636050668e342c (patch)
tree1721dcdbba69567239666a388c41c1eb053ec86f
parent0f9107bef348f853c01668048d386f9445fe851a (diff)
Added ndpi_serializer_set_buffer_len() API call
-rw-r--r--src/include/ndpi_api.h9
-rw-r--r--src/lib/ndpi_serializer.c16
2 files changed, 20 insertions, 5 deletions
diff --git a/src/include/ndpi_api.h b/src/include/ndpi_api.h
index af86251ae..a02eae2a6 100644
--- a/src/include/ndpi_api.h
+++ b/src/include/ndpi_api.h
@@ -858,11 +858,13 @@ extern "C" {
int ndpi_serialize_end_of_record(ndpi_serializer *serializer);
char* ndpi_serializer_get_buffer(ndpi_serializer *_serializer, u_int32_t *buffer_len);
u_int32_t ndpi_serializer_get_buffer_len(ndpi_serializer *_serializer);
-
+ int ndpi_serializer_set_buffer_len(ndpi_serializer *_serializer, u_int32_t l);
+ void ndpi_serializer_set_csv_separator(ndpi_serializer *serializer, char separator);
+
+
/* Deserializer */
int ndpi_init_deserializer(ndpi_deserializer *deserializer,
ndpi_serializer *serializer);
- void ndpi_serializer_set_csv_separator(ndpi_serializer *serializer, char separator);
int ndpi_init_deserializer_buf(ndpi_deserializer *deserializer,
u_int8_t *serialized_buffer,
u_int32_t serialized_buffer_len);
@@ -899,8 +901,7 @@ extern "C" {
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);
-
-
+
const char* ndpi_data_ratio2str(float ratio);
void ndpi_data_print_window_values(struct ndpi_analyze_struct *s); /* debug */
diff --git a/src/lib/ndpi_serializer.c b/src/lib/ndpi_serializer.c
index 857cb0d16..7b189cecf 100644
--- a/src/lib/ndpi_serializer.c
+++ b/src/lib/ndpi_serializer.c
@@ -199,7 +199,21 @@ u_int32_t ndpi_serializer_get_buffer_len(ndpi_serializer *_serializer) {
return(((ndpi_private_serializer*)_serializer)->size_used);
}
- /* ********************************** */
+/* ********************************** */
+
+int ndpi_serializer_set_buffer_len(ndpi_serializer *_serializer, u_int32_t l) {
+ ndpi_private_serializer *p = (ndpi_private_serializer*)_serializer;
+
+ if(p) {
+ if(p->buffer_size <= l)
+ return(-1); /* Invalid size */
+
+ p->buffer_size = l;
+ return(0);
+ }
+}
+
+/* ********************************** */
void ndpi_serializer_set_csv_separator(ndpi_serializer *_serializer, char separator) {
ndpi_private_serializer *serializer = (ndpi_private_serializer*)_serializer;