28static bool is_verbose = 
true;
 
   39#define PKRSRV_UTIL_ASSERT(condition) \ 
   42            printf("Assertion failed: %s\n", #condition); \ 
   43            printf("\tat: %s:%d\n", __FILE__, __LINE__); \ 
   45            void* callstack[128]; \ 
   46            int frames = backtrace(callstack, sizeof(callstack) / sizeof(void*)); \ 
   47            char** lines = backtrace_symbols(callstack, frames); \ 
   50                printf("Call Stack:\n"); \ 
   52                for (int i = 0; i < frames; i++) { \ 
   53                    printf("%s\n", lines[i]); \ 
   56            pkrsrv_util_assert_fail(); \ 
 
unsigned char * pkrsrv_util_base64_decode(unsigned char *data, int length)
int pkrsrv_util_msleep(long millis)
void pkrsrv_util_verbose(const char *format,...)
int pkrsrv_util_int2str(int number, char *target)
void pkrsrv_util_assert_fail()
void pkrsrv_util_verbose_set(int p_is_verbose)
unsigned char * pkrsrv_util_base64_encode(unsigned char *data, int length)
uint64_t pkrsrv_util_get_time_msec()