Module ida_lines
lines.
This file also contains definitions for the syntax highlighting.
Finally there are functions that deal with anterior/posterior user-defined lines.
Global Variables
COLOR_ADDR
COLOR_ADDR_SIZE
COLOR_ALTOP
COLOR_ASMDIR
COLOR_AUTOCMT
COLOR_BG_MAX
COLOR_BINPREF
COLOR_CHAR
COLOR_CNAME
COLOR_CODE
COLOR_CODNAME
COLOR_COLLAPSED
COLOR_CREF
COLOR_CREFTAIL
COLOR_CURITEM
COLOR_CURLINE
COLOR_DATA
COLOR_DATNAME
COLOR_DCHAR
COLOR_DEFAULT
COLOR_DEMNAME
COLOR_DNAME
COLOR_DNUM
COLOR_DREF
COLOR_DREFTAIL
COLOR_DSTR
COLOR_ERROR
COLOR_ESC
COLOR_EXTERN
COLOR_EXTRA
COLOR_FG_MAX
COLOR_HIDLINE
COLOR_HIDNAME
COLOR_IMPNAME
COLOR_INSN
COLOR_INV
COLOR_KEYWORD
COLOR_LIBFUNC
COLOR_LIBNAME
COLOR_LOCNAME
COLOR_LUMFUNC
COLOR_LUMINA
COLOR_MACRO
COLOR_NUMBER
COLOR_OFF
COLOR_ON
COLOR_OPND1
COLOR_OPND2
COLOR_OPND3
COLOR_OPND4
COLOR_OPND5
COLOR_OPND6
COLOR_OPND7
COLOR_OPND8
COLOR_PREFIX
COLOR_REG
COLOR_REGCMT
COLOR_REGFUNC
COLOR_RESERVED1
COLOR_RPTCMT
COLOR_SEGNAME
COLOR_SELECTED
COLOR_STRING
COLOR_SYMBOL
COLOR_UNAME
COLOR_UNKNAME
COLOR_UNKNOWN
COLOR_VOIDOP
E_NEXT
E_PREV
GDISMF_ADDR_TAG
GDISMF_AS_STACK
GENDSM_FORCE_CODE
GENDSM_MULTI_LINE
GENDSM_REMOVE_TAGS
PALETTE_SIZE
SCOLOR_ADDR
SCOLOR_ALTOP
SCOLOR_ASMDIR
SCOLOR_AUTOCMT
SCOLOR_BINPREF
SCOLOR_CHAR
SCOLOR_CNAME
SCOLOR_CODNAME
SCOLOR_COLLAPSED
SCOLOR_CREF
SCOLOR_CREFTAIL
SCOLOR_DATNAME
SCOLOR_DCHAR
SCOLOR_DEFAULT
SCOLOR_DEMNAME
SCOLOR_DNAME
SCOLOR_DNUM
SCOLOR_DREF
SCOLOR_DREFTAIL
SCOLOR_DSTR
SCOLOR_ERROR
SCOLOR_ESC
SCOLOR_EXTRA
SCOLOR_FG_MAX
SCOLOR_HIDNAME
SCOLOR_IMPNAME
SCOLOR_INSN
SCOLOR_INV
SCOLOR_KEYWORD
SCOLOR_LIBNAME
SCOLOR_LOCNAME
SCOLOR_MACRO
SCOLOR_NUMBER
SCOLOR_OFF
SCOLOR_ON
SCOLOR_OPND1
SCOLOR_OPND2
SCOLOR_OPND3
SCOLOR_OPND4
SCOLOR_OPND5
SCOLOR_OPND6
SCOLOR_PREFIX
SCOLOR_REG
SCOLOR_REGCMT
SCOLOR_RPTCMT
SCOLOR_SEGNAME
SCOLOR_STRING
SCOLOR_SYMBOL
SCOLOR_UNAME
SCOLOR_UNKNAME
SCOLOR_UTF8
SCOLOR_VOIDOP
VEL_CMT
VEL_POST
Functions
COLSTR(str, tag)
Utility function to create a colored line str: The string tag: Color tag constant. One of SCOLOR_XXXX
add_extra_cmt(*args) ‑> bool
add_extra_cmt(ea, isprev, format) -> bool Add anterior/posterior comment line(s).
add_extra_line(*args) ‑> bool
add_extra_line(ea, isprev, format) -> bool Add anterior/posterior non-comment line(s).
add_pgm_cmt(*args) ‑> bool
add_pgm_cmt(format) -> bool Add anterior comment line(s) at the start of program.
add_sourcefile(ea1: ea_t, ea2: ea_t, filename: char const *) ‑> bool
add_sourcefile(ea1, ea2, filename) -> bool Mark a range of address as belonging to a source file. An address range may belong only to one source file. A source file may be represented by several address ranges.
calc_bg_color(ea: ea_t) ‑> bgcolor_t
calc_bg_color(ea) -> bgcolor_t Get background color for line at 'ea'
calc_prefix_color(ea: ea_t) ‑> color_t
calc_prefix_color(ea) -> color_t Get prefix color for line at 'ea'
create_encoding_helper(*args) ‑> encoder_t *
create_encoding_helper(encidx=-1, nr=nr_once) -> encoder_t
del_extra_cmt(ea: ea_t, what: int) ‑> bool
del_extra_cmt(ea, what) -> bool
del_sourcefile(ea: ea_t) ‑> bool
del_sourcefile(ea) -> bool Delete information about the source file.
delete_extra_cmts(ea: ea_t, what: int) ‑> void
delete_extra_cmts(ea, what)
generate_disasm_line(ea: ea_t, flags: int = 0) ‑> qstring *
generate_disasm_line(ea, flags=0) -> bool
generate_disassembly(ea: ea_t, max_lines: int, as_stack: bool, notags: bool) ‑> PyObject *
generate_disassembly(ea, max_lines, as_stack, notags) -> (int, [str, ...]) Generate disassembly lines (many lines) and put them into a buffer
get_extra_cmt(ea: ea_t, what: int) ‑> int
get_extra_cmt(ea, what) -> ssize_t
get_first_free_extra_cmtidx(ea: ea_t, start: int) ‑> int
get_first_free_extra_cmtidx(ea, start) -> int
get_sourcefile(ea: ea_t, bounds: range_t = None) ‑> char const *
get_sourcefile(ea, bounds=None) -> char const Get name of source file occupying the given address.
install_user_defined_prefix(*args) ‑> bool
install_user_defined_prefix(prefix_len, udp, owner) -> bool User-defined line-prefixes are displayed just after the autogenerated line prefixes in the disassembly listing. There is no need to call this function explicitly. Use the user_defined_prefix_t class.
requires_color_esc(c)
Checks if the given character requires escaping Is the given char a color escape character?
tag_addr(ea: ea_t) ‑> PyObject *
tag_addr(ea) -> PyObject * Insert an address mark into a string.
tag_advance(line: char const *, cnt: int) ‑> int
tag_advance(line, cnt) -> int Move pointer to a 'line' to 'cnt' positions right. Take into account escape sequences.
tag_remove(nonnul_instr: char const *) ‑> PyObject *
tag_remove(nonnul_instr) -> str
tag_skipcode(line: char const *) ‑> int
tag_skipcode(line) -> int Skip one color code. This function should be used if you are interested in color codes and want to analyze all of them. Otherwise tag_skipcodes() function is better since it will skip all colors at once. This function will skip the current color code if there is one. If the current symbol is not a color code, it will return the input.
tag_skipcodes(line: char const *) ‑> int
tag_skipcodes(line) -> int Move the pointer past all color codes.
tag_strlen(line: char const *) ‑> ssize_t
tag_strlen(line) -> ssize_t Calculate length of a colored string This function computes the length in unicode codepoints of a line
update_extra_cmt(ea: ea_t, what: int, str: char const *) ‑> bool
update_extra_cmt(ea, what, str) -> bool
Classes
user_defined_prefix_t(*args)
: Proxy of C++ user_defined_prefix_t class.
Methods
get_user_defined_prefix(self, ea: ea_t, insn: insn_t const &, lnnum: int, indent: int, line: char const *) ‑> void get_user_defined_prefix(self, ea, insn, lnnum, indent, line) This callback must be overridden by the derived class.
ea: (C++: ea_t) the current address insn: (C++: const class insn_t &) the current instruction. if the current item is not an instruction, then insn.itype is zero. lnnum: (C++: int) number of the current line (each address may have several listing lines for it). 0 means the very first line for the current address. indent: (C++: int) see explanations for gen_printf() line: (C++: const char *) the line to be generated. the line usually contains color tags. this argument can be examined to decide whether to generate the prefix.
Last updated