Utility functions and macros.
More...
Utility functions and macros.
◆ PKRSRV_UTIL_ASSERT
#define PKRSRV_UTIL_ASSERT |
( |
| condition | ) |
|
Value: { \
if (!(condition)) { \
printf("Assertion failed: %s\n", #condition); \
printf("\tat: %s:%d\n", __FILE__, __LINE__); \
\
void* callstack[128]; \
int frames = backtrace(callstack, sizeof(callstack) / sizeof(void*)); \
char** lines = backtrace_symbols(callstack, frames); \
\
if (lines) { \
printf("Call Stack:\n"); \
\
for (int i = 0; i < frames; i++) { \
printf("%s\n", lines[i]); \
} \
} \
pkrsrv_util_assert_fail(); \
}; \
}
Use this macro to assert a condition.
◆ pkrsrv_util_assert_fail()
void pkrsrv_util_assert_fail |
( |
| ) |
|
When an assertion fails, this function is called. It is good always to have a breakpoint here.
◆ pkrsrv_util_verbose()
void pkrsrv_util_verbose |
( |
const char * | format, |
|
|
| ... ) |
◆ pkrsrv_util_verbose_set()
void pkrsrv_util_verbose_set |
( |
int | p_is_verbose | ) |
|
◆ pkrsrv_util_msleep()
int pkrsrv_util_msleep |
( |
long | millis | ) |
|
◆ pkrsrv_util_get_time_msec()
uint64_t pkrsrv_util_get_time_msec |
( |
| ) |
|
◆ pkrsrv_util_int2str()
int pkrsrv_util_int2str |
( |
int | number, |
|
|
char * | target ) |
◆ pkrsrv_util_base64_encode()
unsigned char * pkrsrv_util_base64_encode |
( |
unsigned char * | data, |
|
|
int | length ) |
◆ pkrsrv_util_base64_decode()
unsigned char * pkrsrv_util_base64_decode |
( |
unsigned char * | data, |
|
|
int | length ) |