}
}
+void hb_hexdump( hb_debug_level_t level, const char * label, const uint8_t * data, int len )
+{
+ int ii;
+ char line[80], *p;
+
+ p = line;
+ if( label )
+ hb_deep_log(level, "++++ %s ++++", label);
+ else
+ hb_deep_log(level, "++++++++++++");
+ for( ii = 0; ii < len; ii++ )
+ {
+ if( ( ii & 0x0f ) == 0x0f )
+ {
+ p += sprintf( p, "%02x", data[ii] );
+ hb_deep_log( level, " %s", line );
+ p = line;
+ }
+ else if( ( ii & 0x07 ) == 0x07 )
+ {
+ p += sprintf( p, "%02x ", data[ii] );
+ }
+ else
+ {
+ p += sprintf( p, "%02x ", data[ii] );
+ }
+ }
+ if( p != line )
+ {
+ hb_deep_log( level, " %s", line );
+ }
+}
+
void hb_valog( hb_debug_level_t level, const char * prefix, const char * log, va_list args) HB_WPRINTF(3,0);
void hb_deep_log( hb_debug_level_t level, char * log, ... ) HB_WPRINTF(2,3);
void hb_error( char * fmt, ...) HB_WPRINTF(1,2);
+void hb_hexdump( hb_debug_level_t level, const char * label, const uint8_t * data, int len );
int hb_list_bytes( hb_list_t * );
void hb_list_seebytes( hb_list_t * l, uint8_t * dst, int size );