Internal ROHC macros and functions for traces. More...
#include "rohc_traces.h"#include <rohc/rohc_buf.h>#include <stdlib.h>#include <assert.h>

Go to the source code of this file.
Defines | |
| #define | __rohc_print(trace_cb, trace_cb_priv, level, entity, profile, format,...) |
| #define | rohc_print(entity_struct, level, entity, profile, format,...) |
| #define | rohc_debug(entity_struct, entity, profile, format,...) |
| #define | rohc_info(entity_struct, entity, profile, format,...) |
| #define | rohc_warning(entity_struct, entity, profile, format,...) |
| #define | rohc_error(entity_struct, entity, profile, format,...) |
| #define | rohc_assert(entity_struct, entity, profile, condition, label, format,...) |
| Stop processing if the given condition is false. | |
Functions | |
| void | rohc_dump_packet (const rohc_trace_callback2_t trace_cb, void *const trace_cb_priv, const rohc_trace_entity_t trace_entity, const rohc_trace_level_t trace_level, const char *const descr, const struct rohc_buf packet) |
| Dump the content of the given packet. | |
| void | rohc_dump_buf (const rohc_trace_callback2_t trace_cb, void *const trace_cb_priv, const rohc_trace_entity_t trace_entity, const rohc_trace_level_t trace_level, const char *const descr, const uint8_t *const packet, const size_t length) |
| Dump the content of the given buffer. | |
Internal ROHC macros and functions for traces.
| #define __rohc_print | ( | trace_cb, | |||
| trace_cb_priv, | |||||
| level, | |||||
| entity, | |||||
| profile, | |||||
| format, | |||||
| ... | ) |
do { \ if(trace_cb != NULL) { \ trace_cb(trace_cb_priv, level, entity, profile, \ "[%s:%d %s()] " format "\n", \ __FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__); \ } \ } while(0)
Print information depending on the debug level (internal usage)
| #define rohc_assert | ( | entity_struct, | |||
| entity, | |||||
| profile, | |||||
| condition, | |||||
| label, | |||||
| format, | |||||
| ... | ) |
do { \ if(!(condition)) { \ rohc_error(entity_struct, entity, profile, \ format, ##__VA_ARGS__); \ assert(condition); \ goto label; \ } \ } while(0)
Stop processing if the given condition is false.
In non-debug mode (ie. NDEBUG set): if the given condition fails, prints the given message then jump to the given label.
In debug mode (ie. NDEBUG not set): if the given condition fails, prints the given message then asserts.
| #define rohc_debug | ( | entity_struct, | |||
| entity, | |||||
| profile, | |||||
| format, | |||||
| ... | ) |
rohc_print(entity_struct, ROHC_TRACE_DEBUG, entity, profile, \ format, ##__VA_ARGS__)
Print debug messages prefixed with the function name
| #define rohc_error | ( | entity_struct, | |||
| entity, | |||||
| profile, | |||||
| format, | |||||
| ... | ) |
rohc_print(entity_struct, ROHC_TRACE_ERROR, entity, profile, \ format, ##__VA_ARGS__)
Print error messages prefixed with the function name
| #define rohc_info | ( | entity_struct, | |||
| entity, | |||||
| profile, | |||||
| format, | |||||
| ... | ) |
rohc_print(entity_struct, ROHC_TRACE_INFO, entity, profile, \ format, ##__VA_ARGS__)
Print information prefixed with the function name
| #define rohc_print | ( | entity_struct, | |||
| level, | |||||
| entity, | |||||
| profile, | |||||
| format, | |||||
| ... | ) |
do { \ __rohc_print((entity_struct)->trace_callback, \ (entity_struct)->trace_callback_priv, \ level, entity, profile, \ format, ##__VA_ARGS__); \ } while(0)
Print information depending on the debug level
| #define rohc_warning | ( | entity_struct, | |||
| entity, | |||||
| profile, | |||||
| format, | |||||
| ... | ) |
rohc_print(entity_struct, ROHC_TRACE_WARNING, entity, profile, \ format, ##__VA_ARGS__)
Print warning messages prefixed with the function name
| void rohc_dump_buf | ( | const rohc_trace_callback2_t | trace_cb, | |
| void *const | trace_cb_priv, | |||
| const rohc_trace_entity_t | trace_entity, | |||
| const rohc_trace_level_t | trace_level, | |||
| const char *const | descr, | |||
| const uint8_t *const | packet, | |||
| const size_t | length | |||
| ) |
Dump the content of the given buffer.
| trace_cb | The function to log traces | |
| trace_cb_priv | An optional private context, may be NULL | |
| trace_entity | The entity that emits the traces | |
| trace_level | The priority level for the trace | |
| descr | The description of the packet to dump | |
| packet | The packet to dump | |
| length | The length (in bytes) of the packet to dump |
| void rohc_dump_packet | ( | const rohc_trace_callback2_t | trace_cb, | |
| void *const | trace_cb_priv, | |||
| const rohc_trace_entity_t | trace_entity, | |||
| const rohc_trace_level_t | trace_level, | |||
| const char *const | descr, | |||
| const struct rohc_buf | packet | |||
| ) |
Dump the content of the given packet.
| trace_cb | The function to log traces | |
| trace_cb_priv | An optional private context, may be NULL | |
| trace_entity | The entity that emits the traces | |
| trace_level | The priority level for the trace | |
| descr | The description of the packet to dump | |
| packet | The packet to dump |
1.6.1