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