IDA SDK
Public Attributes | Public Member Functions | List of all members
outctx_t Struct Reference

Inherits outctx_base_t.

Public Attributes

ea_t bin_ea
 
char bin_state
 
int gl_bpsize
 
int bin_width
 
insn_t insn
 
qstring curlabel
 
- Public Attributes inherited from outctx_base_t
ea_t insn_ea
 
qstring outbuf
 
ssize_t regname_idx
 
int suspop
 
flags_t F
 
uval_toutvalues
 
int outvalue_getn_flags
 
void * user_data
 
void * kern_data
 
qstrvec_tlnar
 
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
 

Public Member Functions

 outctx_t (ea_t ea, flags_t flags=0, int _suspop=0)
 
void idaapi setup_outctx (const char *prefix, int flags)
 Initialization; normally used only by the kernel.
 
ssize_t idaapi retrieve_cmt (void)
 
ssize_t idaapi retrieve_name (qstring *, color_t *)
 
bool idaapi gen_xref_lines (void)
 
virtual void idaapi out_mnem (int width=8, const char *postfix=NULL)
 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=NULL)
 Output custom mnemonic for 'insn'. More...
 
virtual void idaapi out_mnemonic (void)
 Output instruction mnemonic using information in 'insn'. More...
 
virtual bool idaapi out_one_operand (int n)
 Use this function to output an operand of an instruction. More...
 
virtual size_t idaapi get_immvals (uval_t *out, int i)
 Get the immediate values used at the specified address. More...
 
virtual void idaapi out_immchar_cmts (void)
 Print all operand values as commented character constants. More...
 
virtual void idaapi gen_func_header (func_t *pfn)
 
virtual void idaapi gen_func_footer (const func_t *pfn)
 
virtual void idaapi out_data (bool analyze_only)
 
virtual bool idaapi out_specea (uchar segtype)
 
virtual void idaapi gen_header_extra ()
 
virtual void idaapi gen_header (int flags=GH_PRINT_PROC_AND_ASM, const char *proc_name=NULL, const char *proc_flavour=NULL)
 
- Public Member Functions inherited from outctx_base_t
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
 
void clr_gen_label (void)
 
void set_gen_label (void)
 
void set_gen_demangled_label (void)
 
void set_comment_addr (ea_t ea)
 
bool print_label_now () const
 
int forbid_annotations ()
 
void restore_ctxflags (int saved_flags)
 
 outctx_base_t (ea_t ea, flags_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 flags_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=NULL)
 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 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)
 

Additional Inherited Members

- Protected Member Functions inherited from outctx_base_t
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

virtual void idaapi outctx_t::out_mnem ( int  width = 8,
const char *  postfix = NULL 
)
virtual

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
widthwidth of field with mnemonic. if < 0, then 'postfix' will be output before the mnemonic, i.e. as a prefix
postfixoptional postfix added to the instruction mnemonic
virtual void idaapi outctx_t::out_custom_mnem ( const char *  mnem,
int  width = 8,
const char *  postfix = NULL 
)
virtual

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
mnemcustom mnemonic
widthwidth of field with mnemonic. if < 0, then 'postfix' will be output before the mnemonic, i.e. as a prefix
postfixoptional postfix added to 'mnem'
virtual void idaapi outctx_t::out_mnemonic ( void  )
virtual

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.

virtual bool idaapi outctx_t::out_one_operand ( int  n)
virtual

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
nnumber of operand
Return values
1operand is displayed
0operand is hidden
virtual size_t idaapi outctx_t::get_immvals ( uval_t out,
int  i 
)
virtual

Get the immediate values used at the specified address.

This function can handle instructions and data items.

Parameters
outarray of values, size at least 2*UA_MAXOP
ioperand number
Returns
number of immediate values
virtual void idaapi outctx_t::out_immchar_cmts ( void  )
virtual

Print all operand values as commented character constants.

Printing is done only for is_susp_operand() operands 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: