Inherits outctx_base_t.
Public Member Functions | |
outctx_t (procmod_t *p, processor_t &ph, asm_t &ash, ea_t ea, flags64_t flags=0, int _suspop=0, const printop_t *_wif=nullptr) | |
virtual void idaapi | setup_outctx (const char *prefix, int flags) override |
Initialization; normally used only by the kernel. More... | |
virtual ssize_t idaapi | retrieve_cmt (void) override |
virtual ssize_t idaapi | retrieve_name (qstring *, color_t *) override |
virtual bool idaapi | gen_xref_lines (void) override |
virtual void idaapi | out_btoa (uval_t Word, char radix=0) override |
Output a number with the specified base (binary, octal, decimal, hex) The number is output without color codes. More... | |
void | set_bin_state (int value) |
virtual void idaapi | out_mnem (int width=8, const char *postfix=nullptr) new api |
Output instruction mnemonic for 'insn' using information in 'ph.instruc' array. More... | |
virtual void idaapi | out_custom_mnem (const char *mnem, int width=8, const char *postfix=nullptr) new api |
Output custom mnemonic for 'insn'. More... | |
virtual void idaapi | out_mnemonic (void) new api |
Output instruction mnemonic using information in 'insn'. More... | |
virtual bool idaapi | out_one_operand (int n) new api |
Use this function to output an operand of an instruction. More... | |
virtual size_t idaapi | get_immvals (uval_t *out, int i) new api |
Get the immediate values used at the specified address. More... | |
virtual void idaapi | out_immchar_cmts (void) new api |
Print all operand values as commented character constants. More... | |
virtual void idaapi | gen_func_header (func_t *pfn) new api |
virtual void idaapi | gen_func_footer (const func_t *pfn) new api |
virtual void idaapi | out_data (bool analyze_only) new api |
virtual bool idaapi | out_specea (uchar segtype) new api |
virtual void idaapi | gen_header_extra () new api |
virtual void idaapi | gen_header (int flags=GH_PRINT_PROC_AND_ASM, const char *proc_name=nullptr, const char *proc_flavour=nullptr) new api |
![]() | |
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) | |
void | out_printf (const char *format,...) |
------------------------------------------------------------------------- Functions to append text to the current output buffer (outbuf) More... | |
GCC_DIAG_OFF (format-nonliteral) | |
void | nowarn_out_printf (const char *format,...) |
GCC_DIAG_ON (format-nonliteral) | |
virtual void 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) |
Public Attributes | |
ea_t | bin_ea |
char | bin_state |
int | gl_bpsize = 0 |
int | bin_width = 0 |
insn_t | insn |
qstring | curlabel |
const printop_t * | wif |
procmod_t * | procmod |
processor_t & | ph |
asm_t & | ash |
uval_t | saved_immvals [UA_MAXOP] = { 0 } |
ea_t | prefix_ea = BADADDR |
![]() | |
ea_t | insn_ea |
qstring | outbuf |
ssize_t | regname_idx |
int | suspop |
flags_t | F |
uval_t * | outvalues |
int | outvalue_getn_flags |
void * | user_data |
void * | kern_data |
qstrvec_t * | lnar |
int | lnar_maxsize |
int | default_lnnum |
qstring | line_prefix |
ssize_t | prefix_len |
int | ctxflags |
int | ind0 |
ea_t | cmt_ea |
qstring | cmtbuf |
const char * | cmtptr |
color_t | cmtcolor |
Additional Inherited Members | |
![]() | |
virtual bool idaapi | flush_and_reinit (void) |
virtual void idaapi | append_user_prefix (const char *, int) |
virtual void idaapi | add_aux_prefix (const char *, int) |
virtual void idaapi | out_label_addr_tag (void) |
virtual void idaapi | out_aux_cmts (void) |
Member Function Documentation
◆ setup_outctx()
|
overridevirtual |
Initialization; normally used only by the kernel.
Reimplemented from outctx_base_t.
◆ retrieve_cmt()
|
overridevirtual |
Reimplemented from outctx_base_t.
◆ retrieve_name()
Reimplemented from outctx_base_t.
◆ gen_xref_lines()
|
overridevirtual |
Reimplemented from outctx_base_t.
◆ out_btoa()
|
overridevirtual |
Output a number with the specified base (binary, octal, decimal, hex) The number is output without color codes.
see also out_long()
Reimplemented from outctx_base_t.
◆ out_mnem()
|
newvirtual |
Output instruction mnemonic for 'insn' using information in 'ph.instruc' array.
This function outputs a colored text. It should be called from processor_t::ev_out_insn() or processor_t::ev_out_mnem() handler. It will output at least one space after the instruction. mnemonic even if the specified 'width' is not enough.
- Parameters
-
width width of field with mnemonic. if < 0, then 'postfix' will be output before the mnemonic, i.e. as a prefix postfix optional postfix added to the instruction mnemonic
◆ out_custom_mnem()
|
newvirtual |
Output custom mnemonic for 'insn'.
E.g. if it should differ from the one in 'ph.instruc'. This function outputs colored text. See out_mnem
- Parameters
-
mnem custom mnemonic width width of field with mnemonic. if < 0, then 'postfix' will be output before the mnemonic, i.e. as a prefix postfix optional postfix added to 'mnem'
◆ out_mnemonic()
|
newvirtual |
Output instruction mnemonic using information in 'insn'.
It should be called from processor_t::ev_out_insn() and it will call processor_t::ev_out_mnem() or out_mnem. This function outputs a colored text.
◆ out_one_operand()
|
newvirtual |
Use this function to output an operand of an instruction.
This function checks for the existence of a manually defined operand and will output it if it exists. It should be called from processor_t::ev_out_insn() and it will call processor_t::ev_out_operand(). This function outputs a colored text.
- Parameters
-
n number of operand
- Return values
-
1 operand is displayed 0 operand is hidden
◆ get_immvals()
|
newvirtual |
Get the immediate values used at the specified address.
This function can handle instructions and data items.
- Parameters
-
out array of values, size at least 2*UA_MAXOP i operand number
- Returns
- number of immediate values
◆ out_immchar_cmts()
|
newvirtual |
Print all operand values as commented character constants.
This function is used to comment void operands with their representation in the form of character constants. This function outputs a colored text.
The documentation for this struct was generated from the following file:
Generated by