1 #ifndef PERF_PRINT_BINARY_H 2 #define PERF_PRINT_BINARY_H 3 4 #include <stddef.h> 5 6 enum binary_printer_ops { 7 BINARY_PRINT_DATA_BEGIN, 8 BINARY_PRINT_LINE_BEGIN, 9 BINARY_PRINT_ADDR, 10 BINARY_PRINT_NUM_DATA, 11 BINARY_PRINT_NUM_PAD, 12 BINARY_PRINT_SEP, 13 BINARY_PRINT_CHAR_DATA, 14 BINARY_PRINT_CHAR_PAD, 15 BINARY_PRINT_LINE_END, 16 BINARY_PRINT_DATA_END, 17 }; 18 19 typedef void (*print_binary_t)(enum binary_printer_ops op, 20 unsigned int val, void *extra); 21 22 void print_binary(unsigned char *data, size_t len, 23 size_t bytes_per_line, print_binary_t printer, 24 void *extra); 25 26 int is_printable_array(char *p, unsigned int len); 27 28 #endif /* PERF_PRINT_BINARY_H */ 29