15 #define RZ_PRINT_FLAGS_COLOR 0x00000001
16 #define RZ_PRINT_FLAGS_ADDRMOD 0x00000002
17 #define RZ_PRINT_FLAGS_CURSOR 0x00000004
18 #define RZ_PRINT_FLAGS_HEADER 0x00000008
19 #define RZ_PRINT_FLAGS_SPARSE 0x00000010
20 #define RZ_PRINT_FLAGS_SEGOFF 0x00000020
21 #define RZ_PRINT_FLAGS_OFFSET 0x00000040
22 #define RZ_PRINT_FLAGS_REFS 0x00000080
23 #define RZ_PRINT_FLAGS_DIFFOUT 0x00000100
24 #define RZ_PRINT_FLAGS_ADDRDEC 0x00000200
25 #define RZ_PRINT_FLAGS_COMMENT 0x00000400
26 #define RZ_PRINT_FLAGS_COMPACT 0x00000800
27 #define RZ_PRINT_FLAGS_NONHEX 0x00001000
28 #define RZ_PRINT_FLAGS_SECSUB 0x00002000
29 #define RZ_PRINT_FLAGS_RAINBOW 0x00004000
30 #define RZ_PRINT_FLAGS_HDROFF 0x00008000
31 #define RZ_PRINT_FLAGS_STYLE 0x00010000
32 #define RZ_PRINT_FLAGS_NONASCII 0x00020000
33 #define RZ_PRINT_FLAGS_ALIGN 0x00040000
34 #define RZ_PRINT_FLAGS_UNALLOC 0x00080000
35 #define RZ_PRINT_FLAGS_BGFILL 0x00100000
36 #define RZ_PRINT_FLAGS_SECTION 0x00200000
38 typedef const char *(*RzPrintNameCallback)(
void *user,
ut64 addr);
40 typedef char *(*RzPrintCommentCallback)(
void *user,
ut64 addr);
41 typedef const char *(*RzPrintSectionGet)(
void *user,
ut64 addr);
120 char *(*cb_color)(
int idx,
int last,
bool bg);
188 typedef bool (*RzPrintIsInterruptedCallback)();
215 #define JSONOUTPUT -3
218 #define RZ_PRINT_MUSTSEE (1)
219 #define RZ_PRINT_ISFIELD (1 << 1)
220 #define RZ_PRINT_SEEFLAGS (1 << 2)
221 #define RZ_PRINT_JSON (1 << 3)
222 #define RZ_PRINT_MUSTSET (1 << 4)
223 #define RZ_PRINT_UNIONMODE (1 << 5)
224 #define RZ_PRINT_VALUE (1 << 6)
225 #define RZ_PRINT_DOT (1 << 7)
226 #define RZ_PRINT_QUIET (1 << 8)
227 #define RZ_PRINT_STRUCT (1 << 9)
static unsigned invert(unsigned x)
RZ_API void rz_print_offset(RzPrint *p, ut64 off, int invert, int offseg, int offdec, int delta, const char *label)
RZ_API void rz_print_offset_sg(RzPrint *p, ut64 off, int invert, int offseg, int seggrn, int offdec, int delta, const char *label)
static states step(struct re_guts *, sopno, sopno, states, int, states)
RZ_API char * rz_print_json_indent(const char *s, bool color, const char *tab, const char **palette)
RZ_API char * rz_print_json_path(const char *s, int pos)
RZ_API char * rz_print_json_human(const char *s)
RZ_API RZ_OWN RzStrBuf * rz_print_colorize_asm_str(RZ_BORROW RzPrint *p, const RzAsmTokenString *toks)
Colorizes a tokenized asm string.
RZ_API void rz_print_set_flags(RzPrint *p, int _flags)
RZ_API void rz_print_fill(RzPrint *p, const ut8 *arr, int size, ut64 addr, int step)
RZ_API void rz_print_init_rowoffsets(RzPrint *p)
RZ_API bool rz_print_have_cursor(RzPrint *p, int cur, int len)
RZ_API void rz_print_cursor(RzPrint *p, int cur, int len, int set)
RZ_API void rz_print_byte(RzPrint *p, const char *fmt, int idx, ut8 ch)
RZ_API void rz_print_bytes(RzPrint *p, const ut8 *buf, int len, const char *fmt)
RZ_API void rz_print_hexii(RzPrint *rp, ut64 addr, const ut8 *buf, int len, int step)
RZ_API const char * rz_print_byte_color(RzPrint *p, int ch)
RZ_API RZ_OWN char * rz_print_hexdiff_str(RZ_NONNULL RzPrint *p, ut64 aa, RZ_NONNULL const ut8 *_a, ut64 ba, RZ_NONNULL const ut8 *_b, int len, int scndcol)
Print hexdump diff between _a and _b.
RZ_API int rz_print_row_at_off(RzPrint *p, ut32 offset)
RZ_API ut32 rz_print_rowoff(RzPrint *p, int i)
RZ_API void rz_print_rangebar(RzPrint *p, ut64 startA, ut64 endA, ut64 min, ut64 max, int cols)
RZ_API void rz_print_progressbar(RzPrint *p, int pc, int _cols)
RZ_API void rz_print_set_cursor(RzPrint *p, int enable, int ocursor, int cursor)
RZ_API bool rz_print_is_interrupted(void)
RZ_API void rz_print_set_rowoff(RzPrint *p, int i, ut32 offset, bool overwrite)
RZ_API RzPrint * rz_print_new(void)
RZ_API bool rz_print_cursor_pointer(RzPrint *p, int cur, int len)
RZ_API void rz_print_set_screenbounds(RzPrint *p, ut64 addr)
Sets screen_bounds member of p to addr if the cursor is not visible on the screen.
RZ_API RzPrint * rz_print_free(RzPrint *p)
RZ_API RZ_OWN char * rz_print_hexdump_str(RZ_NONNULL RzPrint *p, ut64 addr, RZ_NONNULL const ut8 *buf, int len, int base, int step, size_t zoomsz)
Prints a hexdump of buf at addr.
RZ_API char * rz_print_hexpair(RzPrint *p, const char *str, int n)
RZ_API RZ_OWN char * rz_print_jsondump_str(RZ_NONNULL RzPrint *p, RZ_NONNULL const ut8 *buf, int len, int wordsize)
Print dump in json format.
RZ_API char * rz_print_section_str(RzPrint *p, ut64 at)
RZ_API int rz_print_get_cursor(RzPrint *p)
RZ_API void rz_print_raw(RzPrint *p, ut64 addr, const ut8 *buf, int len)
RZ_API void rz_print_set_is_interrupted_cb(RzPrintIsInterruptedCallback cb)
RZ_API const char * rz_print_color_op_type(RZ_NONNULL RzPrint *p, ut32 analysis_type)
RZ_API void rz_print_addr(RzPrint *p, ut64 addr)
int(* RzPrintSizeCallback)(void *user, ut64 addr)
char *(* RzPrintHasRefs)(void *user, ut64 addr, int mode)
const char *(* RzPrintNameCallback)(void *user, ut64 addr)
struct rz_print_t RzPrint
const char *(* RzPrintColorFor)(void *user, ut64 addr, bool verbose)
char *(* RzPrintCommentCallback)(void *user, ut64 addr)
struct rz_print_zoom_t RzPrintZoom
const char *(* RzPrintSectionGet)(void *user, ut64 addr)
int(* PrintfCallback)(const char *str,...) RZ_PRINTF_CHECK(1
ut32 ana_op_type
Analysis op type (see: _RzAnalysisOpType) of the token string to parse.
const RzRegSet * reg_sets
Array of reg sets used to lookup register names during parsing.
Pattern for a asm string token.
ut32 op_type
RzAnalysisOpType. Mnemonic color depends on this.
A token of an asm string holding meta data.
Holds certain options to alter the colorizing of asm strings.
RzPrintNameCallback offname
RzPrintSectionGet get_section_name
int(* write)(const unsigned char *buf, int len)
int(* disasm)(void *p, ut64 addr)
RzPrintAsmColorOpts colorize_opts
Coloize options for asm strings.
RzPrintSizeCallback offsize
ut64(* get_register_value)(RzReg *reg, RzRegItem *item)
const char * strconv_mode
bool(* exists_var)(struct rz_print_t *print, ut64 func_addr, char *str)
PrintfCallback cb_eprintf
RzPrintCommentCallback get_comments
ut64(WINAPI *w32_GetEnabledXStateFeatures)()