diff options
author | Luca Deri <deri@ntop.org> | 2019-09-10 22:45:52 +0200 |
---|---|---|
committer | Luca Deri <deri@ntop.org> | 2019-09-10 22:45:52 +0200 |
commit | b1583cc29efe9696bd3308b249636050668e342c (patch) | |
tree | 1721dcdbba69567239666a388c41c1eb053ec86f | |
parent | 0f9107bef348f853c01668048d386f9445fe851a (diff) |
Added ndpi_serializer_set_buffer_len() API call
-rw-r--r-- | src/include/ndpi_api.h | 9 | ||||
-rw-r--r-- | src/lib/ndpi_serializer.c | 16 |
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; |