Inherited by outctx_t.
Public Member Functions | |
bool | only_main_line () const |
bool | multiline () const |
bool | force_code () const |
bool | stack_view () const |
bool | display_voids () const |
void | set_gen_xrefs (bool on=true) |
int | get_xrefgen_state () const |
void | set_gen_cmt (bool on=true) |
int | get_cmtgen_state () const |
int | get_binop_state () const |
void | clr_gen_label (void) |
void | set_gen_label (void) |
void | set_gen_demangled_label (void) |
void | set_comment_addr (ea_t ea) |
void | set_dlbind_opnd (void) |
bool | print_label_now () const |
int | forbid_annotations () |
void | restore_ctxflags (int saved_flags) |
outctx_base_t (ea_t ea, flags64_t flags, int _suspop=0) | |
size_t | out_printf (const char *format,...) |
------------------------------------------------------------------------- Functions to append text to the current output buffer (outbuf) More... | |
GCC_DIAG_OFF (format-nonliteral) | |
size_t | nowarn_out_printf (const char *format,...) |
GCC_DIAG_ON (format-nonliteral) | |
virtual size_t idaapi | out_vprintf (const char *format, va_list va) |
virtual flags64_t idaapi | out_value (const op_t &x, int outf=0) |
Output immediate value. More... | |
virtual void idaapi | out_symbol (char c) |
Output a character with COLOR_SYMBOL color. | |
virtual void idaapi | out_chars (char c, int n) |
Append a character multiple times. | |
void | out_spaces (ssize_t len) |
Appends spaces to outbuf until its tag_strlen becomes 'len'. | |
virtual void idaapi | add_spaces (qstring *buf, ssize_t len) |
virtual void idaapi | out_line (const char *str, color_t color=0) |
Output a string with the specified color. | |
void | out_keyword (const char *str) |
Output a string with COLOR_KEYWORD color. | |
void | out_register (const char *str) |
Output a character with COLOR_REG color. | |
virtual void idaapi | out_tagon (color_t tag) |
Output "turn color on" escape sequence. | |
virtual void idaapi | out_tagoff (color_t tag) |
Output "turn color off" escape sequence. | |
virtual void idaapi | out_addr_tag (ea_t ea) |
Output "address" escape sequence. | |
virtual void idaapi | out_colored_register_line (const char *str) |
Output a colored line with register names in it. More... | |
virtual void idaapi | out_char (char c) |
Output one character. More... | |
virtual void idaapi | out_btoa (uval_t Word, char radix=0) |
Output a number with the specified base (binary, octal, decimal, hex) The number is output without color codes. More... | |
virtual void idaapi | out_long (sval_t v, char radix) |
Output a number with appropriate color. More... | |
virtual bool idaapi | out_name_expr (const op_t &x, ea_t ea, adiff_t off=BADADDR) |
Output a name expression. More... | |
void | close_comment (void) |
virtual bool idaapi | flush_outbuf (int indent=-1) |
------------------------------------------------------------------------- Functions to populate the output line array (lnar) More... | |
virtual bool idaapi | flush_buf (const char *buf, int indent=-1) |
Append contents of 'buf' to the line array. More... | |
virtual int idaapi | term_outctx (const char *prefix=nullptr) |
Finalize the output context. More... | |
virtual bool idaapi | gen_vprintf (int indent, const char *format, va_list va) |
See gen_printf() | |
bool | gen_printf (int indent, const char *format,...) |
printf-like function to add lines to the line array. More... | |
virtual bool idaapi | gen_empty_line (void) |
Generate empty line. More... | |
virtual bool idaapi | gen_border_line (bool solid=false) |
Generate thin border line. More... | |
virtual bool idaapi | gen_colored_cmt_line_v (color_t color, const char *format, va_list va) |
See gen_cmt_line() | |
bool | gen_cmt_line_v (const char *format, va_list va) |
See gen_cmt_line() | |
bool | gen_cmt_line (const char *format,...) |
Generate one non-indented comment line, colored with COLOR_AUTOCMT. More... | |
bool | gen_collapsed_line (const char *format,...) |
Generate one non-indented comment line, colored with COLOR_COLLAPSED. More... | |
virtual bool idaapi | gen_block_cmt (const char *cmt, color_t color) |
Generate big non-indented comment lines. More... | |
virtual void idaapi | setup_outctx (const char *prefix, int makeline_flags) |
Initialization; normally used only by the kernel. More... | |
virtual ssize_t idaapi | retrieve_cmt (void) |
virtual ssize_t idaapi | retrieve_name (qstring *, color_t *) |
virtual bool idaapi | gen_xref_lines (void) |
virtual void idaapi | init_lines_array (qstrvec_t *answers, int maxsize) |
virtual member_t *idaapi | get_stkvar (const op_t &, uval_t, sval_t *, int *) |
void | gen_empty_line_without_annotations (void) |
flags64_t | getF () const |
Public Attributes | |
ea_t | insn_ea |
qstring | outbuf |
ssize_t | regname_idx = -1 |
int | suspop |
flags_t | F32 |
uval_t * | outvalues = nullptr |
int | outvalue_getn_flags = 0 |
void * | user_data = nullptr |
void * | kern_data = nullptr |
qstrvec_t * | lnar = nullptr |
int | lnar_maxsize = 0 |
int | default_lnnum = -1 |
qstring | line_prefix |
ssize_t | prefix_len = 0 |
int | ctxflags = 0 |
int | ind0 = 0 |
ea_t | cmt_ea = BADADDR |
qstring | cmtbuf |
const char * | cmtptr = nullptr |
color_t | cmtcolor = 0xFF |
Member Function Documentation
◆ out_printf()
|
inline |
------------------------------------------------------------------------- Functions to append text to the current output buffer (outbuf)
Append a formatted string to the output string.
- Returns
- the number of characters appended
◆ out_value()
Output immediate value.
Try to use this function to output all constants of instruction operands. This function outputs a number from x.addr or x.value in the form determined by F. It outputs colored text.
- Parameters
-
x value to output outf Output value flags
- Returns
- flags of the output value, otherwise: -1 if printed a number with COLOR_ERROR 0 if printed a nice number or character or segment or enum
◆ out_colored_register_line()
|
virtual |
Output a colored line with register names in it.
The register names will be substituted by user-defined names (regvar_t) Please note that out_tagoff tries to make substitutions too (when called with COLOR_REG)
◆ out_char()
|
inlinevirtual |
Output one character.
The character is output without color codes. see also out_symbol()
◆ out_btoa()
|
virtual |
Output a number with the specified base (binary, octal, decimal, hex) The number is output without color codes.
see also out_long()
Reimplemented in outctx_t.
◆ out_long()
|
virtual |
Output a number with appropriate color.
Low level function. Use out_value() if you can. if 'suspop' is set then this function uses COLOR_VOIDOP instead of COLOR_NUMBER. 'suspop' is initialized:
- in out_one_operand()
- in ..\ida\gl.cpp (before calling processor_t::d_out())
- Parameters
-
v value to output radix base (2,8,10,16) suspop ::suspop - suspop==0: operand is ok
- suspop==1: operand is suspicious and should be output with COLOR_VOIDOP
- suspop==2: operand can't be output as requested and should be output with COLOR_ERROR
◆ out_name_expr()
|
virtual |
Output a name expression.
- Parameters
-
x instruction operand referencing the name expression ea address to convert to name expression off the value of name expression. this parameter is used only to check that the name expression will have the wanted value. You may pass BADADDR for this parameter but I discourage it because it prohibits checks.
- Returns
- true if the name expression has been produced
◆ flush_outbuf()
|
virtual |
------------------------------------------------------------------------- Functions to populate the output line array (lnar)
Move the contents of the output buffer to the line array (outbuf->lnar) The kernel augments the outbuf contents with additional text like the line prefix, user-defined comments, xrefs, etc at this call.
◆ flush_buf()
|
virtual |
Append contents of 'buf' to the line array.
Behaves like flush_outbuf but accepts an arbitrary buffer
◆ term_outctx()
|
virtual |
◆ gen_printf()
|
inline |
printf-like function to add lines to the line array.
- Parameters
-
indent indention of the line. if indent == -1, the kernel will indent the line at idainfo::indent. if indent < 0, -indent will be used for indention. The first line printed with indent < 0 is considered as the most important line at the current address. Usually it is the line with the instruction itself. This line will be displayed in the cross-reference lists and other places. If you need to output an additional line before the main line then pass DEFAULT_INDENT instead of -1. The kernel will know that your line is not the most important one. format printf style colored line to generate
- Returns
- overflow, lnar_maxsize has been reached
◆ gen_empty_line()
|
virtual |
Generate empty line.
This function does nothing if generation of empty lines is disabled.
- Returns
- overflow, lnar_maxsize has been reached
◆ gen_border_line()
|
virtual |
Generate thin border line.
This function does nothing if generation of border lines is disabled.
- Parameters
-
solid generate solid border line (with =), otherwise with -
- Returns
- overflow, lnar_maxsize has been reached
◆ gen_cmt_line()
|
inline |
Generate one non-indented comment line, colored with COLOR_AUTOCMT.
- Parameters
-
format printf() style format line. The resulting comment line should not include comment character (;)
- Returns
- overflow, lnar_maxsize has been reached
◆ gen_collapsed_line()
|
inline |
Generate one non-indented comment line, colored with COLOR_COLLAPSED.
- Parameters
-
format printf() style format line. The resulting comment line should not include comment character (;)
- Returns
- overflow, lnar_maxsize has been reached
◆ gen_block_cmt()
|
virtual |
Generate big non-indented comment lines.
- Parameters
-
cmt comment text. may contain \n characters to denote new lines. should not contain comment character (;) color color of comment text (one of Color tags)
- Returns
- overflow, lnar_maxsize has been reached
◆ setup_outctx()
|
virtual |
Initialization; normally used only by the kernel.
Reimplemented in outctx_t.
The documentation for this struct was generated from the following file:
Generated by 1.9.3