print_binary.h (945B)
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#include <stdio.h> 7 8enum binary_printer_ops { 9 BINARY_PRINT_DATA_BEGIN, 10 BINARY_PRINT_LINE_BEGIN, 11 BINARY_PRINT_ADDR, 12 BINARY_PRINT_NUM_DATA, 13 BINARY_PRINT_NUM_PAD, 14 BINARY_PRINT_SEP, 15 BINARY_PRINT_CHAR_DATA, 16 BINARY_PRINT_CHAR_PAD, 17 BINARY_PRINT_LINE_END, 18 BINARY_PRINT_DATA_END, 19}; 20 21typedef int (*binary__fprintf_t)(enum binary_printer_ops op, 22 unsigned int val, void *extra, FILE *fp); 23 24int binary__fprintf(unsigned char *data, size_t len, 25 size_t bytes_per_line, binary__fprintf_t printer, 26 void *extra, FILE *fp); 27 28static inline void print_binary(unsigned char *data, size_t len, 29 size_t bytes_per_line, binary__fprintf_t printer, 30 void *extra) 31{ 32 binary__fprintf(data, len, bytes_per_line, printer, extra, stdout); 33} 34 35int is_printable_array(char *p, unsigned int len); 36 37#endif /* PERF_PRINT_BINARY_H */