ROHC compression/decompression library
|
Internal ROHC macros and functions for traces. More...
#include "rohc_traces.h"
#include "rohc_buf.h"
#include "config.h"
#include <stdlib.h>
#include <assert.h>
#include "dllexport.h"
Go to the source code of this file.
Defines | |
#define | __rohc_print(trace_cb, trace_cb2, 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_EXPORT | rohc_dump_packet (const rohc_trace_callback_t trace_cb, const rohc_trace_callback2_t trace_cb2, 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_EXPORT | rohc_dump_buf (const rohc_trace_callback_t trace_cb, const rohc_trace_callback2_t trace_cb2, void *const trace_cb_priv, const rohc_trace_entity_t trace_entity, const rohc_trace_level_t trace_level, const char *const descr, const unsigned char *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_cb2, | |||
trace_cb_priv, | |||
level, | |||
entity, | |||
profile, | |||
format, | |||
... | |||
) |
do { \ if(trace_cb2 != NULL) { \ trace_cb2(trace_cb_priv, level, entity, profile, \ "[%s:%d %s()] " format "\n", \ __FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__); \ } else if(trace_cb != NULL) { \ trace_cb(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 { \ assert((entity_struct) != NULL); \ __rohc_print((entity_struct)->trace_callback, \ (entity_struct)->trace_callback2, \ (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_EXPORT rohc_dump_buf | ( | const rohc_trace_callback_t | trace_cb, |
const rohc_trace_callback2_t | trace_cb2, | ||
void *const | trace_cb_priv, | ||
const rohc_trace_entity_t | trace_entity, | ||
const rohc_trace_level_t | trace_level, | ||
const char *const | descr, | ||
const unsigned char *const | packet, | ||
const size_t | length | ||
) |
Dump the content of the given buffer.
trace_cb | The old function to log traces |
trace_cb2 | The new 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_EXPORT rohc_dump_packet | ( | const rohc_trace_callback_t | trace_cb, |
const rohc_trace_callback2_t | trace_cb2, | ||
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 old function to log traces |
trace_cb2 | The new 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 |