URLS=[
"idc.html",
"idautils.html",
"ida_auto.html",
"ida_bitrange.html",
"ida_bytes.html",
"ida_range.html",
"ida_dbg.html",
"ida_diskio.html",
"ida_dirtree.html",
"ida_entry.html",
"ida_expr.html",
"ida_fixup.html",
"ida_fpro.html",
"ida_frame.html",
"ida_funcs.html",
"ida_gdl.html",
"ida_graph.html",
"ida_kernwin.html",
"ida_ida.html",
"ida_hexrays.html",
"ida_typeinf.html",
"ida_pro.html",
"ida_idaapi.html",
"ida_idc.html",
"ida_idd.html",
"ida_idp.html",
"ida_ieee.html",
"ida_lines.html",
"ida_loader.html",
"ida_merge.html",
"ida_mergemod.html",
"ida_moves.html",
"ida_nalt.html",
"ida_name.html",
"ida_netnode.html",
"ida_offset.html",
"ida_problems.html",
"ida_registry.html",
"ida_regfinder.html",
"ida_search.html",
"ida_segment.html",
"ida_segregs.html",
"ida_srclang.html",
"ida_strlist.html",
"ida_tryblks.html",
"ida_ua.html",
"ida_undo.html",
"ida_xref.html"
];
INDEX=[
{
"ref":"idc",
"url":0,
"doc":"IDC compatibility module This file contains IDA built-in function declarations and internal bit definitions. Each byte of the program has 32-bit flags (low 8 bits keep the byte value). These 32 bits are used in get_full_flags/get_flags functions. This file is subject to change without any notice. Future versions of IDA may use other definitions."
},
{
"ref":"idc.DeprecatedIDCError",
"url":0,
"doc":"Exception for deprecated function calls"
},
{
"ref":"idc.has_value",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.byte_value",
"url":0,
"doc":"Get byte value from flags Get value of byte provided that the byte is initialized. This macro works ok only for 8-bit byte machines.",
"func":1
},
{
"ref":"idc.is_loaded",
"url":0,
"doc":"Is the byte initialized?",
"func":1
},
{
"ref":"idc.is_code",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_data",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_tail",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_unknown",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_head",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_flow",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.isExtra",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.isRef",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.hasName",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.hasUserName",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_defarg0",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_defarg1",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.isDec0",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.isDec1",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.isHex0",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.isHex1",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.isOct0",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.isOct1",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.isBin0",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.isBin1",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_off0",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_off1",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_char0",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_char1",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_seg0",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_seg1",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_enum0",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_enum1",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_manual0",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_manual1",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_stroff0",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_stroff1",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_stkvar0",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_stkvar1",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_byte",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_word",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_dword",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_qword",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_oword",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_tbyte",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_float",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_double",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_pack_real",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_strlit",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_struct",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_align",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.value_is_string",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.value_is_long",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.value_is_float",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.value_is_func",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.value_is_pvoid",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.value_is_int64",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.to_ea",
"url":0,
"doc":"Return value of expression:  seg 4) + off)",
"func":1
},
{
"ref":"idc.form",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.substr",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.strstr",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.strlen",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.xtol",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.atoa",
"url":0,
"doc":"Convert address value to a string Return address in the form 'seg000:1234' (the same as in line prefixes) @param ea: address to format",
"func":1
},
{
"ref":"idc.ltoa",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.atol",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.rotate_left",
"url":0,
"doc":"Rotate a value to the left (or right) @param value: value to rotate @param count: number of times to rotate. negative counter means rotate to the right @param nbits: number of bits to rotate @param offset: offset of the first bit to rotate @return: the value with the specified field rotated all other bits are not modified",
"func":1
},
{
"ref":"idc.rotate_dword",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.rotate_word",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.rotate_byte",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.eval_idc",
"url":0,
"doc":"Evaluate an IDC expression @param expr: an expression @return: the expression value. If there are problems, the returned value will be \"IDC_FAILURE: xxx\" where xxx is the error description @note: Python implementation evaluates IDC only, while IDC can call other registered languages",
"func":1
},
{
"ref":"idc.EVAL_FAILURE",
"url":0,
"doc":"Check the result of eval_idc() for evaluation failures @param code: result of eval_idc() @return: True if there was an evaluation error",
"func":1
},
{
"ref":"idc.save_database",
"url":0,
"doc":"Save current database to the specified idb file @param idbname: name of the idb file. if empty, the current idb file will be used. @param flags: combination of ida_loader.DBFL_ . bits or 0",
"func":1
},
{
"ref":"idc.validate_idb_names",
"url":0,
"doc":"check consistency of IDB name records @param do_repair: try to repair netnode header it TRUE @return: number of inconsistent name records",
"func":1
},
{
"ref":"idc.call_system",
"url":0,
"doc":"Execute an OS command. @param command: command line to execute @return: error code from OS @note: IDA will wait for the started program to finish. In order to start the command in parallel, use OS methods. For example, you may start another program in parallel using \"start\" command.",
"func":1
},
{
"ref":"idc.qsleep",
"url":0,
"doc":"qsleep the specified number of milliseconds This function suspends IDA for the specified amount of time @param milliseconds: time to sleep",
"func":1
},
{
"ref":"idc.delete_all_segments",
"url":0,
"doc":"Delete all segments, instructions, comments, i.e. everything except values of bytes.",
"func":1
},
{
"ref":"idc.plan_and_wait",
"url":0,
"doc":"Perform full analysis of the range @param sEA: starting linear address @param eEA: ending linear address (excluded) @param final_pass: make the final pass over the specified range @return: 1-ok, 0-Ctrl-Break was pressed.",
"func":1
},
{
"ref":"idc.set_name",
"url":0,
"doc":"Rename an address @param ea: linear address @param name: new name of address. If name   , then delete old name @param flags: combination of SN_ . constants @return: 1-ok, 0-failure",
"func":1
},
{
"ref":"idc.make_array",
"url":0,
"doc":"Create an array. @param ea: linear address @param nitems: size of array in items @note: This function will create an array of the items with the same type as the type of the item at 'ea'. If the byte at 'ea' is undefined, then this function will create an array of bytes.",
"func":1
},
{
"ref":"idc.create_strlit",
"url":0,
"doc":"Create a string. This function creates a string (the string type is determined by the value of get_inf_attr(INF_STRTYPE @param ea: linear address @param endea: ending address of the string (excluded) if endea  BADADDR, then length of string will be calculated by the kernel @return: 1-ok, 0-failure @note: The type of an existing string is returned by get_str_type()",
"func":1
},
{
"ref":"idc.create_byte",
"url":0,
"doc":"Convert the current item to a byte @param ea: linear address @return: 1-ok, 0-failure",
"func":1
},
{
"ref":"idc.create_word",
"url":0,
"doc":"Convert the current item to a word (2 bytes) @param ea: linear address @return: 1-ok, 0-failure",
"func":1
},
{
"ref":"idc.create_dword",
"url":0,
"doc":"Convert the current item to a double word (4 bytes) @param ea: linear address @return: 1-ok, 0-failure",
"func":1
},
{
"ref":"idc.create_qword",
"url":0,
"doc":"Convert the current item to a quadro word (8 bytes) @param ea: linear address @return: 1-ok, 0-failure",
"func":1
},
{
"ref":"idc.create_oword",
"url":0,
"doc":"Convert the current item to an octa word (16 bytes/128 bits) @param ea: linear address @return: 1-ok, 0-failure",
"func":1
},
{
"ref":"idc.create_yword",
"url":0,
"doc":"Convert the current item to a ymm word (32 bytes/256 bits) @param ea: linear address @return: 1-ok, 0-failure",
"func":1
},
{
"ref":"idc.create_float",
"url":0,
"doc":"Convert the current item to a floating point (4 bytes) @param ea: linear address @return: 1-ok, 0-failure",
"func":1
},
{
"ref":"idc.create_double",
"url":0,
"doc":"Convert the current item to a double floating point (8 bytes) @param ea: linear address @return: 1-ok, 0-failure",
"func":1
},
{
"ref":"idc.create_pack_real",
"url":0,
"doc":"Convert the current item to a packed real (10 or 12 bytes) @param ea: linear address @return: 1-ok, 0-failure",
"func":1
},
{
"ref":"idc.create_tbyte",
"url":0,
"doc":"Convert the current item to a tbyte (10 or 12 bytes) @param ea: linear address @return: 1-ok, 0-failure",
"func":1
},
{
"ref":"idc.create_struct",
"url":0,
"doc":"Convert the current item to a structure instance @param ea: linear address @param size: structure size in bytes. -1 means that the size will be calculated automatically @param strname: name of a structure type @return: 1-ok, 0-failure",
"func":1
},
{
"ref":"idc.define_local_var",
"url":0,
"doc":"Create a local variable @param start: start of address range for the local variable @param end: end of address range for the local variable @param location: the variable location in the \"[bp+xx]\" form where xx is a number. The location can also be specified as a register name. @param name: name of the local variable @return: 1-ok, 0-failure @note: For the stack variables the end address is ignored. If there is no function at 'start' then this function. will fail.",
"func":1
},
{
"ref":"idc.set_array_params",
"url":0,
"doc":"Set array representation format @param ea: linear address @param flags: combination of AP_ . constants or 0 @param litems: number of items per line. 0 means auto @param align: element alignment - -1: do not align - 0: automatic alignment - other values: element width @return: 1-ok, 0-failure",
"func":1
},
{
"ref":"idc.op_plain_offset",
"url":0,
"doc":"Convert operand to an offset (for the explanations of 'ea' and 'n' please see op_bin( Example:     seg000:2000 dw 1234h and there is a segment at paragraph 0x1000 and there is a data item within the segment at 0x1234: seg000:1234 MyString db 'Hello, world!',0 Then you need to specify a linear address of the segment base to create a proper offset: op_plain_offset([\"seg000\",0x2000],0,0x10000); and you will have: seg000:2000 dw offset MyString Motorola 680x0 processor have a concept of \"outer offsets\". If you want to create an outer offset, you need to combine number of the operand with the following bit: Please note that the outer offsets are meaningful only for Motorola 680x0. @param ea: linear address @param n: number of operand - 0 - the first operand - 1 - the second, third and all other operands - -1 - all operands @param base: base of the offset as a linear address If base  BADADDR then the current operand becomes non-offset",
"func":1
},
{
"ref":"idc.toggle_bnot",
"url":0,
"doc":"Toggle the bitwise not operator for the operand @param ea: linear address @param n: number of operand - 0 - the first operand - 1 - the second, third and all other operands - -1 - all operands",
"func":1
},
{
"ref":"idc.op_stroff",
"url":0,
"doc":"Convert operand to an offset in a structure @param ea: linear address @param n: number of operand - 0 - the first operand - 1 - the second, third and all other operands - -1 - all operands @param strid: id of a structure type @param delta: struct offset delta. usually 0. denotes the difference between the structure base and the pointer into the structure.",
"func":1
},
{
"ref":"idc.op_offset_high16",
"url":0,
"doc":"Convert operand to a high offset High offset is the upper 16bits of an offset. This type is used by TMS320C6 processors (and probably by other RISC processors too) @param ea: linear address @param n: number of operand - 0 - the first operand - 1 - the second, third and all other operands - -1 - all operands @param target: the full value (all 32bits) of the offset",
"func":1
},
{
"ref":"idc.MakeVar",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.split_sreg_range",
"url":0,
"doc":"Set value of a segment register. @param ea: linear address @param reg: name of a register, like \"cs\", \"ds\", \"es\", etc. @param value: new value of the segment register. @param tag: of SR_ . constants @note: IDA keeps tracks of all the points where segment register change their values. This function allows you to specify the correct value of a segment register if IDA is not able to find the correct value.",
"func":1
},
{
"ref":"idc.AutoMark",
"url":0,
"doc":"Plan to analyze an address",
"func":1
},
{
"ref":"idc.gen_file",
"url":0,
"doc":"Generate an output file @param filetype: type of output file. One of OFILE_ . symbols. See below. @param path: the output file path (will be overwritten!) @param ea1: start address. For some file types this argument is ignored @param ea2: end address. For some file types this argument is ignored @param flags: bit combination of GENFLG_ . @returns: number of the generated lines. -1 if an error occurred OFILE_EXE: 0-can't generate exe file, 1-ok",
"func":1
},
{
"ref":"idc.gen_flow_graph",
"url":0,
"doc":"Generate a flow chart GDL file @param outfile: output file name. GDL extension will be used @param title: graph title @param ea1: beginning of the range to flow chart @param ea2: end of the range to flow chart. @param flags: combination of CHART_ . constants @note: If ea2  BADADDR then ea1 is treated as an address within a function. That function will be flow charted.",
"func":1
},
{
"ref":"idc.gen_simple_call_chart",
"url":0,
"doc":"Generate a function call graph GDL file @param outfile: output file name. GDL extension will be used @param title: graph title @param flags: combination of CHART_GEN_GDL, CHART_WINGRAPH, CHART_NOLIBFUNCS",
"func":1
},
{
"ref":"idc.idadir",
"url":0,
"doc":"Get IDA directory This function returns the directory where IDA.EXE resides",
"func":1
},
{
"ref":"idc.get_idb_path",
"url":0,
"doc":"Get IDB full path This function returns full path of the current IDB database",
"func":1
},
{
"ref":"idc.get_bytes",
"url":0,
"doc":"Return the specified number of bytes of the program @param ea: linear address @param size: size of buffer in normal 8-bit bytes @param use_dbg: if True, use debugger memory, otherwise just the database @return: None on failure otherwise a string containing the read bytes",
"func":1
},
{
"ref":"idc.read_dbg_byte",
"url":0,
"doc":"Get value of program byte using the debugger memory @param ea: linear address @return: The value or None on failure.",
"func":1
},
{
"ref":"idc.read_dbg_word",
"url":0,
"doc":"Get value of program word using the debugger memory @param ea: linear address @return: The value or None on failure.",
"func":1
},
{
"ref":"idc.read_dbg_dword",
"url":0,
"doc":"Get value of program double-word using the debugger memory @param ea: linear address @return: The value or None on failure.",
"func":1
},
{
"ref":"idc.read_dbg_qword",
"url":0,
"doc":"Get value of program quadro-word using the debugger memory @param ea: linear address @return: The value or None on failure.",
"func":1
},
{
"ref":"idc.write_dbg_memory",
"url":0,
"doc":"Write to debugger memory. @param ea: linear address @param data: string to write @return: number of written bytes (-1 - network/debugger error) Thread-safe function (may be called only from the main thread and debthread)",
"func":1
},
{
"ref":"idc.GetFloat",
"url":0,
"doc":"Get value of a floating point number (4 bytes) This function assumes number stored using IEEE format and in the same endianness as integers. @param ea: linear address @return: float",
"func":1
},
{
"ref":"idc.GetDouble",
"url":0,
"doc":"Get value of a floating point number (8 bytes) This function assumes number stored using IEEE format and in the same endianness as integers. @param ea: linear address @return: double",
"func":1
},
{
"ref":"idc.get_name_ea_simple",
"url":0,
"doc":"Get linear address of a name @param name: name of program byte @return: address of the name BADADDR - No such name",
"func":1
},
{
"ref":"idc.get_segm_by_sel",
"url":0,
"doc":"Get segment by segment base @param base: segment base paragraph or selector @return: linear address of the start of the segment or BADADDR if no such segment",
"func":1
},
{
"ref":"idc.get_curline",
"url":0,
"doc":"Get the disassembly line at the cursor @return: string",
"func":1
},
{
"ref":"idc.read_selection_start",
"url":0,
"doc":"Get start address of the selected range returns BADADDR - the user has not selected an range",
"func":1
},
{
"ref":"idc.read_selection_end",
"url":0,
"doc":"Get end address of the selected range @return: BADADDR - the user has not selected an range",
"func":1
},
{
"ref":"idc.get_sreg",
"url":0,
"doc":"Get value of segment register at the specified address @param ea: linear address @param reg: name of segment register @return: the value of the segment register or -1 on error @note: The segment registers in 32bit program usually contain selectors, so to get paragraph pointed to by the segment register you need to call sel2para() function.",
"func":1
},
{
"ref":"idc.next_head",
"url":0,
"doc":"Get next defined item (instruction or data) in the program @param ea: linear address to start search from @param maxea: the search will stop at the address maxea is not included in the search range @return: BADADDR - no (more) defined items",
"func":1
},
{
"ref":"idc.prev_head",
"url":0,
"doc":"Get previous defined item (instruction or data) in the program @param ea: linear address to start search from @param minea: the search will stop at the address minea is included in the search range @return: BADADDR - no (more) defined items",
"func":1
},
{
"ref":"idc.get_item_size",
"url":0,
"doc":"Get size of instruction or data item in bytes @param ea: linear address @return: 1 n",
"func":1
},
{
"ref":"idc.func_contains",
"url":0,
"doc":"Does the given function contain the given address? @param func_ea: any address belonging to the function @param ea: linear address @return: success",
"func":1
},
{
"ref":"idc.get_name",
"url":0,
"doc":"Get name at the specified address @param ea: linear address @param gtn_flags: how exactly the name should be retrieved. combination of GN_ bits @return:  - byte has no name",
"func":1
},
{
"ref":"idc.demangle_name",
"url":0,
"doc":"demangle_name a name @param name: name to demangle @param disable_mask: a mask that tells how to demangle the name it is a good idea to get this mask using get_inf_attr(INF_SHORT_DN) or get_inf_attr(INF_LONG_DN) @return: a demangled name If the input name cannot be demangled, returns None",
"func":1
},
{
"ref":"idc.generate_disasm_line",
"url":0,
"doc":"Get disassembly line @param ea: linear address of instruction @param flags: combination of the GENDSM_ flags, or 0 @return:  - could not decode instruction at the specified location @note: this function may not return exactly the same mnemonics as you see on the screen.",
"func":1
},
{
"ref":"idc.GetDisasm",
"url":0,
"doc":"Get disassembly line @param ea: linear address of instruction @return:  - could not decode instruction at the specified location @note: this function may not return exactly the same mnemonics as you see on the screen.",
"func":1
},
{
"ref":"idc.print_insn_mnem",
"url":0,
"doc":"Get instruction mnemonics @param ea: linear address of instruction @return:  - no instruction at the specified location @note: this function may not return exactly the same mnemonics as you see on the screen.",
"func":1
},
{
"ref":"idc.print_operand",
"url":0,
"doc":"Get operand of an instruction or data @param ea: linear address of the item @param n: number of operand: 0 - the first operand 1 - the second operand @return: the current text representation of operand or  ",
"func":1
},
{
"ref":"idc.get_operand_type",
"url":0,
"doc":"Get type of instruction operand @param ea: linear address of instruction @param n: number of operand: 0 - the first operand 1 - the second operand @return: any of o_ constants or -1 on error",
"func":1
},
{
"ref":"idc.get_operand_value",
"url":0,
"doc":"Get number used in the operand This function returns an immediate number used in the operand @param ea: linear address of instruction @param n: the operand number @return: value operand is an immediate value => immediate value operand has a displacement => displacement operand is a direct memory ref => memory address operand is a register => register number operand is a register phrase => phrase number otherwise => -1",
"func":1
},
{
"ref":"idc.get_strlit_contents",
"url":0,
"doc":"Get string contents @param ea: linear address @param length: string length. -1 means to calculate the max string length @param strtype: the string type (one of STRTYPE_ . constants) @return: string contents or empty string",
"func":1
},
{
"ref":"idc.get_str_type",
"url":0,
"doc":"Get string type @param ea: linear address @return: One of STRTYPE_ . constants",
"func":1
},
{
"ref":"idc.process_config_line",
"url":0,
"doc":"Obsolete. Please use ida_idp.process_config_directive().",
"func":1
},
{
"ref":"idc.get_inf_attr",
"url":0,
"doc":"Deprecated. Please ida_ida.inf_get_ instead.",
"func":1
},
{
"ref":"idc.set_inf_attr",
"url":0,
"doc":"Deprecated. Please ida_ida.inf_set_ instead.",
"func":1
},
{
"ref":"idc.SetPrcsr",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.get_processor_name",
"url":0,
"doc":"Get name of the current processor @return: processor name",
"func":1
},
{
"ref":"idc.batch",
"url":0,
"doc":"Enable/disable batch mode of operation @param batch: batch mode 0 - ida will display dialog boxes and wait for the user input 1 - ida will not display dialog boxes, warnings, etc. @return: old balue of batch flag",
"func":1
},
{
"ref":"idc.process_ui_action",
"url":0,
"doc":"Invokes an IDA UI action by name @param name: Command name @param flags: Reserved. Must be zero @return: Boolean",
"func":1
},
{
"ref":"idc.sel2para",
"url":0,
"doc":"Get a selector value @param sel: the selector number @return: selector value if found otherwise the input value (sel) @note: selector values are always in paragraphs",
"func":1
},
{
"ref":"idc.find_selector",
"url":0,
"doc":"Find a selector which has the specified value @param val: value to search for @return: the selector number if found, otherwise the input value (val & 0xFFFF) @note: selector values are always in paragraphs",
"func":1
},
{
"ref":"idc.get_first_seg",
"url":0,
"doc":"Get first segment @return: address of the start of the first segment BADADDR - no segments are defined",
"func":1
},
{
"ref":"idc.get_next_seg",
"url":0,
"doc":"Get next segment @param ea: linear address @return: start of the next segment BADADDR - no next segment",
"func":1
},
{
"ref":"idc.get_segm_start",
"url":0,
"doc":"Get start address of a segment @param ea: any address in the segment @return: start of segment BADADDR - the specified address doesn't belong to any segment",
"func":1
},
{
"ref":"idc.get_segm_end",
"url":0,
"doc":"Get end address of a segment @param ea: any address in the segment @return: end of segment (an address past end of the segment) BADADDR - the specified address doesn't belong to any segment",
"func":1
},
{
"ref":"idc.get_segm_name",
"url":0,
"doc":"Get name of a segment @param ea: any address in the segment @return:  - no segment at the specified address",
"func":1
},
{
"ref":"idc.add_segm_ex",
"url":0,
"doc":"Create a new segment @param startea: linear address of the start of the segment @param endea: linear address of the end of the segment this address will not belong to the segment 'endea' should be higher than 'startea' @param base: base paragraph or selector of the segment. a paragraph is 16byte memory chunk. If a selector value is specified, the selector should be already defined. @param use32: 0: 16bit segment, 1: 32bit segment, 2: 64bit segment @param align: segment alignment. see below for alignment values @param comb: segment combination. see below for combination values. @param flags: combination of ADDSEG_ . bits @return: 0-failed, 1-ok",
"func":1
},
{
"ref":"idc.AddSeg",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.set_segment_bounds",
"url":0,
"doc":"Change segment boundaries @param ea: any address in the segment @param startea: new start address of the segment @param endea: new end address of the segment @param flags: combination of SEGMOD_ . flags @return: boolean success",
"func":1
},
{
"ref":"idc.set_segm_name",
"url":0,
"doc":"Change name of the segment @param ea: any address in the segment @param name: new name of the segment @return: success (boolean)",
"func":1
},
{
"ref":"idc.set_segm_class",
"url":0,
"doc":"Change class of the segment @param ea: any address in the segment @param segclass: new class of the segment @return: success (boolean)",
"func":1
},
{
"ref":"idc.set_segm_alignment",
"url":0,
"doc":"Change alignment of the segment @param ea: any address in the segment @param alignment: new alignment of the segment (one of the sa . constants) @return: success (boolean)",
"func":1
},
{
"ref":"idc.set_segm_combination",
"url":0,
"doc":"Change combination of the segment @param segea: any address in the segment @param comb: new combination of the segment (one of the sc . constants) @return: success (boolean)",
"func":1
},
{
"ref":"idc.set_segm_addressing",
"url":0,
"doc":"Change segment addressing @param ea: any address in the segment @param bitness: 0: 16bit, 1: 32bit, 2: 64bit @return: success (boolean)",
"func":1
},
{
"ref":"idc.selector_by_name",
"url":0,
"doc":"Get segment selector by name @param segname: name of segment @return: segment selector or BADADDR",
"func":1
},
{
"ref":"idc.set_default_sreg_value",
"url":0,
"doc":"Set default segment register value for a segment @param ea: any address in the segment if no segment is present at the specified address then all segments will be affected @param reg: name of segment register @param value: default value of the segment register. -1-undefined.",
"func":1
},
{
"ref":"idc.set_segm_type",
"url":0,
"doc":"Set segment type @param segea: any address within segment @param segtype: new segment type: @return: !=0 - ok",
"func":1
},
{
"ref":"idc.get_segm_attr",
"url":0,
"doc":"Get segment attribute @param segea: any address within segment @param attr: one of SEGATTR_ . constants",
"func":1
},
{
"ref":"idc.set_segm_attr",
"url":0,
"doc":"Set segment attribute @param segea: any address within segment @param attr: one of SEGATTR_ . constants @note: Please note that not all segment attributes are modifiable. Also some of them should be modified using special functions like set_segm_addressing, etc.",
"func":1
},
{
"ref":"idc.move_segm",
"url":0,
"doc":"Move a segment to a new address This function moves all information to the new address It fixes up address sensitive information in the kernel The total effect is equal to reloading the segment to the target address @param ea: any address within the segment to move @param to: new segment start address @param flags: combination MFS_ . constants @returns: MOVE_SEGM_ . error code",
"func":1
},
{
"ref":"idc.get_xref_type",
"url":0,
"doc":"Return type of the last xref obtained by [RD]first/next[B0] functions. @return: constants fl_ or dr_ ",
"func":1
},
{
"ref":"idc.fopen",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.fclose",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.filelength",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.fseek",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.ftell",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.LoadFile",
"url":0,
"doc":"Load file into IDA database @param filepath: path to input file @param pos: position in the file @param ea: linear address to load @param size: number of bytes to load @return: 0 - error, 1 - ok",
"func":1
},
{
"ref":"idc.loadfile",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.SaveFile",
"url":0,
"doc":"Save from IDA database to file @param filepath: path to output file @param pos: position in the file @param ea: linear address to save from @param size: number of bytes to save @return: 0 - error, 1 - ok",
"func":1
},
{
"ref":"idc.savefile",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.fgetc",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.fputc",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.fprintf",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.readshort",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.readlong",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.writeshort",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.writelong",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.readstr",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.writestr",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.get_next_func",
"url":0,
"doc":"Find next function @param ea: any address belonging to the function @return: BADADDR - no more functions otherwise returns the next function start address",
"func":1
},
{
"ref":"idc.get_prev_func",
"url":0,
"doc":"Find previous function @param ea: any address belonging to the function @return: BADADDR - no more functions otherwise returns the previous function start address",
"func":1
},
{
"ref":"idc.get_func_attr",
"url":0,
"doc":"Get a function attribute @param ea: any address belonging to the function @param attr: one of FUNCATTR_ . constants @return: BADADDR - error otherwise returns the attribute value",
"func":1
},
{
"ref":"idc.set_func_attr",
"url":0,
"doc":"Set a function attribute @param ea: any address belonging to the function @param attr: one of FUNCATTR_ . constants @param value: new value of the attribute @return: 1-ok, 0-failed",
"func":1
},
{
"ref":"idc.get_func_flags",
"url":0,
"doc":"Retrieve function flags @param ea: any address belonging to the function @return: -1 - function doesn't exist otherwise returns the flags",
"func":1
},
{
"ref":"idc.set_func_flags",
"url":0,
"doc":"Change function flags @param ea: any address belonging to the function @param flags: see get_func_flags() for explanations @return: !=0 - ok",
"func":1
},
{
"ref":"idc.get_func_name",
"url":0,
"doc":"Retrieve function name @param ea: any address belonging to the function @return: null string - function doesn't exist otherwise returns function name",
"func":1
},
{
"ref":"idc.get_func_cmt",
"url":0,
"doc":"Retrieve function comment @param ea: any address belonging to the function @param repeatable: 1: get repeatable comment 0: get regular comment @return: function comment string",
"func":1
},
{
"ref":"idc.set_func_cmt",
"url":0,
"doc":"Set function comment @param ea: any address belonging to the function @param cmt: a function comment line @param repeatable: 1: get repeatable comment 0: get regular comment",
"func":1
},
{
"ref":"idc.choose_func",
"url":0,
"doc":"Ask the user to select a function Arguments: @param title: title of the dialog box @return: -1 - user refused to select a function otherwise returns the selected function start address",
"func":1
},
{
"ref":"idc.get_func_off_str",
"url":0,
"doc":"Convert address to 'funcname+offset' string @param ea: address to convert @return: if the address belongs to a function then return a string formed as 'name+offset' where 'name' is a function name 'offset' is offset within the function else return null string",
"func":1
},
{
"ref":"idc.find_func_end",
"url":0,
"doc":"Determine a new function boundaries @param ea: starting address of a new function @return: if a function already exists, then return its end address. If a function end cannot be determined, the return BADADDR otherwise return the end address of the new function",
"func":1
},
{
"ref":"idc.get_frame_id",
"url":0,
"doc":"Get ID of function frame structure @param ea: any address belonging to the function @return: ID of function frame or None In order to access stack variables you need to use structure member manipulaion functions with the obtained ID.",
"func":1
},
{
"ref":"idc.get_frame_lvar_size",
"url":0,
"doc":"Get size of local variables in function frame @param ea: any address belonging to the function @return: Size of local variables in bytes. If the function doesn't have a frame, return 0 If the function doesn't exist, return None",
"func":1
},
{
"ref":"idc.get_frame_regs_size",
"url":0,
"doc":"Get size of saved registers in function frame @param ea: any address belonging to the function @return: Size of saved registers in bytes. If the function doesn't have a frame, return 0 This value is used as offset for BP (if FUNC_FRAME is set) If the function doesn't exist, return None",
"func":1
},
{
"ref":"idc.get_frame_args_size",
"url":0,
"doc":"Get size of arguments in function frame which are purged upon return @param ea: any address belonging to the function @return: Size of function arguments in bytes. If the function doesn't have a frame, return 0 If the function doesn't exist, return -1",
"func":1
},
{
"ref":"idc.get_frame_size",
"url":0,
"doc":"Get full size of function frame @param ea: any address belonging to the function @returns: Size of function frame in bytes. This function takes into account size of local variables + size of saved registers + size of return address + size of function arguments If the function doesn't have a frame, return size of function return address in the stack. If the function doesn't exist, return 0",
"func":1
},
{
"ref":"idc.set_frame_size",
"url":0,
"doc":"Make function frame @param ea: any address belonging to the function @param lvsize: size of function local variables @param frregs: size of saved registers @param argsize: size of function arguments @return: ID of function frame or -1 If the function did not have a frame, the frame will be created. Otherwise the frame will be modified",
"func":1
},
{
"ref":"idc.get_spd",
"url":0,
"doc":"Get current delta for the stack pointer @param ea: end address of the instruction i.e.the last address of the instruction+1 @return: The difference between the original SP upon entering the function and SP for the specified address",
"func":1
},
{
"ref":"idc.get_sp_delta",
"url":0,
"doc":"Get modification of SP made by the instruction @param ea: end address of the instruction i.e.the last address of the instruction+1 @return: Get modification of SP made at the specified location If the specified location doesn't contain a SP change point, return 0 Otherwise return delta of SP modification",
"func":1
},
{
"ref":"idc.get_fchunk_attr",
"url":0,
"doc":"Get a function chunk attribute @param ea: any address in the chunk @param attr: one of: FUNCATTR_START, FUNCATTR_END, FUNCATTR_OWNER, FUNCATTR_REFQTY @return: desired attribute or -1",
"func":1
},
{
"ref":"idc.set_fchunk_attr",
"url":0,
"doc":"Set a function chunk attribute @param ea: any address in the chunk @param attr: only FUNCATTR_START, FUNCATTR_END, FUNCATTR_OWNER @param value: desired value @return: 0 if failed, 1 if success",
"func":1
},
{
"ref":"idc.get_next_fchunk",
"url":0,
"doc":"Get next function chunk @param ea: any address @return: the starting address of the next function chunk or BADADDR @note: This function enumerates all chunks of all functions in the database",
"func":1
},
{
"ref":"idc.get_prev_fchunk",
"url":0,
"doc":"Get previous function chunk @param ea: any address @return: the starting address of the function chunk or BADADDR @note: This function enumerates all chunks of all functions in the database",
"func":1
},
{
"ref":"idc.append_func_tail",
"url":0,
"doc":"Append a function chunk to the function @param funcea: any address in the function @param ea1: start of function tail @param ea2: end of function tail @return: 0 if failed, 1 if success @note: If a chunk exists at the specified addresses, it must have exactly the specified boundaries",
"func":1
},
{
"ref":"idc.remove_fchunk",
"url":0,
"doc":"Remove a function chunk from the function @param funcea: any address in the function @param tailea: any address in the function chunk to remove @return: 0 if failed, 1 if success",
"func":1
},
{
"ref":"idc.set_tail_owner",
"url":0,
"doc":"Change the function chunk owner @param tailea: any address in the function chunk @param funcea: the starting address of the new owner @return: False if failed, True if success @note: The new owner must already have the chunk appended before the call",
"func":1
},
{
"ref":"idc.first_func_chunk",
"url":0,
"doc":"Get the first function chunk of the specified function @param funcea: any address in the function @return: the function entry point or BADADDR @note: This function returns the first (main) chunk of the specified function",
"func":1
},
{
"ref":"idc.next_func_chunk",
"url":0,
"doc":"Get the next function chunk of the specified function @param funcea: any address in the function @param tailea: any address in the current chunk @return: the starting address of the next function chunk or BADADDR @note: This function returns the next chunk of the specified function",
"func":1
},
{
"ref":"idc.add_auto_stkpnt",
"url":0,
"doc":"Add automatic SP register change point @param func_ea: function start @param ea: linear address where SP changes usually this is the end of the instruction which modifies the stack pointer (insn.ea+insn.size) @param delta: difference between old and new values of SP @return: 1-ok, 0-failed",
"func":1
},
{
"ref":"idc.del_stkpnt",
"url":0,
"doc":"Delete SP register change point @param func_ea: function start @param ea: linear address @return: 1-ok, 0-failed",
"func":1
},
{
"ref":"idc.get_min_spd_ea",
"url":0,
"doc":"Return the address with the minimal spd (stack pointer delta) If there are no SP change points, then return BADADDR. @param func_ea: function start @return: BADDADDR - no such function",
"func":1
},
{
"ref":"idc.get_fixup_target_type",
"url":0,
"doc":"Get fixup target type @param ea: address to get information about @return: 0 - no fixup at the specified address otherwise returns fixup type",
"func":1
},
{
"ref":"idc.get_fixup_target_flags",
"url":0,
"doc":"Get fixup target flags @param ea: address to get information about @return: 0 - no fixup at the specified address otherwise returns fixup target flags",
"func":1
},
{
"ref":"idc.get_fixup_target_sel",
"url":0,
"doc":"Get fixup target selector @param ea: address to get information about @return: BADSEL - no fixup at the specified address otherwise returns fixup target selector",
"func":1
},
{
"ref":"idc.get_fixup_target_off",
"url":0,
"doc":"Get fixup target offset @param ea: address to get information about @return: BADADDR - no fixup at the specified address otherwise returns fixup target offset",
"func":1
},
{
"ref":"idc.get_fixup_target_dis",
"url":0,
"doc":"Get fixup target displacement @param ea: address to get information about @return: 0 - no fixup at the specified address otherwise returns fixup target displacement",
"func":1
},
{
"ref":"idc.set_fixup",
"url":0,
"doc":"Set fixup information @param ea: address to set fixup information about @param fixuptype: fixup type. see get_fixup_target_type() for possible fixup types. @param fixupflags: fixup flags. see get_fixup_target_flags() for possible fixup types. @param targetsel: target selector @param targetoff: target offset @param displ: displacement @return: none",
"func":1
},
{
"ref":"idc.get_struc_id",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.get_struc_name",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.get_struc_cmt",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.get_struc_size",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.get_member_qty",
"url":0,
"doc":"Get number of members of a structure @param sid: structure type ID @return: -1 if bad structure type ID is passed otherwise returns number of members.",
"func":1
},
{
"ref":"idc.get_member_by_idx",
"url":0,
"doc":"Get member ID by member ordinal number @param sid: structure type ID @param idx: member ordinal number @return: -1 if bad structure type ID is passed or there is no member with the specified index otherwise returns the member ID.",
"func":1
},
{
"ref":"idc.is_member_id",
"url":0,
"doc":"Is a member id? @param sid: structure type ID @return: True there is structure member with the specified ID False otherwise",
"func":1
},
{
"ref":"idc.get_member_id",
"url":0,
"doc":"@param sid: structure type ID @param member_offset:. The offset can be any offset in the member. For example, is a member is 4 bytes long and starts at offset 2, then 2,3,4,5 denote the same structure member. @return: -1 if bad structure type ID is passed or there is no member at the specified offset. otherwise returns the member id.",
"func":1
},
{
"ref":"idc.get_member_offset",
"url":0,
"doc":"Get offset of a member of a structure by the member name @param sid: structure type ID @param member_name: name of structure member @return: -1 if bad structure type ID is passed or no such member in the structure otherwise returns offset of the specified member. @note: Union members are, in IDA's internals, located at subsequent byte offsets: member 0 -> offset 0x0, member 1 -> offset 0x1, etc .",
"func":1
},
{
"ref":"idc.get_member_name",
"url":0,
"doc":"Get name of a member of a structure @param sid: structure type ID @param member_offset: member offset. The offset can be any offset in the member. For example, is a member is 4 bytes long and starts at offset 2, then 2,3,4,5 denote the same structure member. @return: None if bad structure type ID is passed or no such member in the structure otherwise returns name of the specified member.",
"func":1
},
{
"ref":"idc.get_member_cmt",
"url":0,
"doc":"Get comment of a member @param sid: structure type ID @param member_offset: member offset. The offset can be any offset in the member. For example, is a member is 4 bytes long and starts at offset 2, then 2,3,4,5 denote the same structure member. @param repeatable: is not used anymore @return: None if bad structure type ID is passed or no such member in the structure otherwise returns comment of the specified member.",
"func":1
},
{
"ref":"idc.get_member_size",
"url":0,
"doc":"Get size of a member @param sid: structure type ID @param member_offset: member offset. The offset can be any offset in the member. For example, is a member is 4 bytes long and starts at offset 2, then 2,3,4,5 denote the same structure member. @return: None if bad structure type ID is passed, or no such member in the structure otherwise returns size of the specified member in bytes.",
"func":1
},
{
"ref":"idc.get_member_strid",
"url":0,
"doc":"Get structure id of a member @param sid: structure type ID @param member_offset: member offset. The offset can be any offset in the member. For example, is a member is 4 bytes long and starts at offset 2, then 2,3,4,5 denote the same structure member. @return: -1 if bad structure type ID is passed or no such member in the structure otherwise returns structure id of the member. If the current member is not a structure, returns -1.",
"func":1
},
{
"ref":"idc.is_union",
"url":0,
"doc":"Is a structure a union? @param sid: structure type ID @return: True: yes, this is a union id False: no @note: Unions are a special kind of structures",
"func":1
},
{
"ref":"idc.add_struc",
"url":0,
"doc":"Define a new structure type @param index: -1 @param name: name of the new structure type. @param is_union: 0: structure 1: union @return: -1 if can't define structure type because of bad structure name: the name is ill-formed or is already used in the program. otherwise returns ID of the new structure type",
"func":1
},
{
"ref":"idc.del_struc",
"url":0,
"doc":"Delete a structure type @param sid: structure type ID @return: 0 if bad structure type ID is passed 1 otherwise the structure type is deleted. All data and other structure types referencing to the deleted structure type will be displayed as array of bytes.",
"func":1
},
{
"ref":"idc.set_struc_name",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.set_struc_cmt",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.add_struc_member",
"url":0,
"doc":"Add structure member @param sid: structure type ID @param name: name of the new member @param offset: offset of the new member -1 means to add at the end of the structure @param flag: type of the new member. Should be one of FF_BYTE FF_PACKREAL (see above) combined with FF_DATA @param typeid: if is_struct(flag) then typeid specifies the structure id for the member if is_off0(flag) then typeid specifies the offset base. if is_strlit(flag) then typeid specifies the string type (STRTYPE_ .). if is_stroff(flag) then typeid specifies the structure id if is_enum(flag) then typeid specifies the enum id if is_custom(flags) then typeid specifies the dtid and fid: dtid|(fid 16) Otherwise typeid should be -1. @param nbytes: number of bytes in the new member @param target: target address of the offset expr. You may specify it as -1, ida will calculate it itself @param tdelta: offset target delta. usually 0 @param reftype: see REF_ . definitions @note: The remaining arguments are allowed only if is_off0(flag) and you want to specify a complex offset expression @return: 0 - ok, otherwise error code (one of typeinf.TERR_ )",
"func":1
},
{
"ref":"idc.del_struc_member",
"url":0,
"doc":"Delete structure member @param sid: structure type ID @param member_offset: offset of the member @return: != 0 - ok. @note: IDA allows 'holes' between members of a structure. It treats these 'holes' as unnamed arrays of bytes.",
"func":1
},
{
"ref":"idc.set_member_name",
"url":0,
"doc":"Change structure member name @param sid: structure type ID @param member_offset: offset of the member @param name: new name of the member @return: != 0 - ok.",
"func":1
},
{
"ref":"idc.set_member_type",
"url":0,
"doc":"Change structure member type @param sid: structure type ID @param member_offset: offset of the member @param flag: new type of the member. Should be one of FF_BYTE FF_PACKREAL (see above) combined with FF_DATA @param typeid: if is_struct(flag) then typeid specifies the structure id for the member if is_off0(flag) then typeid specifies the offset base. if is_strlit(flag) then typeid specifies the string type (STRTYPE_ .). if is_stroff(flag) then typeid specifies the structure id if is_enum(flag) then typeid specifies the enum id if is_custom(flags) then typeid specifies the dtid and fid: dtid|(fid 16) Otherwise typeid should be -1. @param nitems: number of items in the member @param target: target address of the offset expr. You may specify it as -1, ida will calculate it itself @param tdelta: offset target delta. usually 0 @param reftype: see REF_ . definitions @note: The remaining arguments are allowed only if is_off0(flag) and you want to specify a complex offset expression @return: !=0 - ok.",
"func":1
},
{
"ref":"idc.set_member_cmt",
"url":0,
"doc":"Change structure member comment @param sid: structure type ID @param member_offset: offset of the member @param comment: new comment of the structure member @param repeatable: 1: change repeatable comment 0: change regular comment @return: != 0 - ok",
"func":1
},
{
"ref":"idc.expand_struc",
"url":0,
"doc":"Expand or shrink a structure type @param id: structure type ID @param offset: offset in the structure @param delta: how many bytes to add or remove @param recalc: is not used anymore @return: True if ok, False on error",
"func":1
},
{
"ref":"idc.get_enum",
"url":0,
"doc":"Get enum by name @param name: enum type name @return: enum type TID or BADADDR",
"func":1
},
{
"ref":"idc.get_enum_name",
"url":0,
"doc":"Get name of enum @param enum_id: enum TID @param flags: use ENFL_REGEX to beautify the name @return: enum name or None",
"func":1
},
{
"ref":"idc.get_enum_cmt",
"url":0,
"doc":"Get enum comment @param enum_id: enum TID @return: enum comment",
"func":1
},
{
"ref":"idc.get_enum_size",
"url":0,
"doc":"Get the number of the members of the enum @param enum_id: enum TID @return: number of members",
"func":1
},
{
"ref":"idc.get_enum_width",
"url":0,
"doc":"Get the width of a enum element allowed values: 0 (unspecified),1,2,4,8,16,32,64 @param enum_id: enum TID @return: enum width or -1 in case of error",
"func":1
},
{
"ref":"idc.get_enum_flag",
"url":0,
"doc":"Get flags determining the representation of the enum. (currently they define the numeric base: octal, decimal, hex, bin) and signness. @param enum_id: enum TID @return: flag of 0",
"func":1
},
{
"ref":"idc.get_enum_member_by_name",
"url":0,
"doc":"Get a reference to an enum member by its name @param name: enum member name @return: enum member TID or BADADDR",
"func":1
},
{
"ref":"idc.get_enum_member_enum",
"url":0,
"doc":"Get the parent enum of an enum member @param const_id: id of const @return: enum TID or BADADDR",
"func":1
},
{
"ref":"idc.get_enum_member",
"url":0,
"doc":"Get id of constant @param enum_id: id of enum @param value: value of constant @param serial: serial number of the constant in the enumeration. See op_enum() for details. @param bmask: bitmask of the constant ordinary enums accept only -1 as a bitmask @return: id of constant or -1 if error",
"func":1
},
{
"ref":"idc.get_first_bmask",
"url":0,
"doc":"Get first bitmask in the enum @param enum_id: id of enum @return: id of constant or -1 if error",
"func":1
},
{
"ref":"idc.get_last_bmask",
"url":0,
"doc":"Get last bitmask in the enum @param enum_id: id of enum @return: id of constant or -1 if error",
"func":1
},
{
"ref":"idc.get_next_bmask",
"url":0,
"doc":"Get next bitmask in the enum @param enum_id: id of enum @param bmask @return: id of constant or -1 if error",
"func":1
},
{
"ref":"idc.get_prev_bmask",
"url":0,
"doc":"Get prev bitmask in the enum @param enum_id: id of enum @param bmask @return: id of constant or -1 if error",
"func":1
},
{
"ref":"idc.get_bmask_name",
"url":0,
"doc":"Get bitmask name (only for bitfields) @param enum_id: id of enum @param bmask: bitmask of the constant @return: name of bitmask or None",
"func":1
},
{
"ref":"idc.get_bmask_cmt",
"url":0,
"doc":"Get bitmask comment (only for bitfields) @param enum_id: id of enum @param bmask: bitmask of the constant @param repeatable: type of comment, 0-regular, 1-repeatable @return: comment attached to bitmask or None",
"func":1
},
{
"ref":"idc.set_bmask_name",
"url":0,
"doc":"Set bitmask name (only for bitfields) @param enum_id: id of enum @param bmask: bitmask of the constant @param name: name of bitmask @return: True-ok, False-failed",
"func":1
},
{
"ref":"idc.set_bmask_cmt",
"url":0,
"doc":"Set bitmask comment (only for bitfields) @param enum_id: id of enum @param bmask: bitmask of the constant @param cmt: comment repeatable - is not used anymore @return: 1-ok, 0-failed",
"func":1
},
{
"ref":"idc.get_first_enum_member",
"url":0,
"doc":"Get first constant in the enum @param enum_id: id of enum @param bmask: bitmask of the constant (ordinary enums accept only -1 as a bitmask) @return: value of constant or -1 if no constants are defined All constants are sorted by their values as unsigned longs.",
"func":1
},
{
"ref":"idc.get_last_enum_member",
"url":0,
"doc":"Get last constant in the enum @param enum_id: id of enum @param bmask: bitmask of the constant (ordinary enums accept only -1 as a bitmask) @return: value of constant or -1 if no constants are defined All constants are sorted by their values as unsigned longs.",
"func":1
},
{
"ref":"idc.get_next_enum_member",
"url":0,
"doc":"Get next constant in the enum @param enum_id: id of enum @param bmask: bitmask of the constant ordinary enums accept only -1 as a bitmask @param value: value of the current constant @return: value of a constant with value higher than the specified value. -1 if no such constants exist. All constants are sorted by their values as unsigned longs.",
"func":1
},
{
"ref":"idc.get_prev_enum_member",
"url":0,
"doc":"Get prev constant in the enum @param enum_id: id of enum @param bmask : bitmask of the constant ordinary enums accept only -1 as a bitmask @param value: value of the current constant @return: value of a constant with value lower than the specified value. -1 if no such constants exist. All constants are sorted by their values as unsigned longs.",
"func":1
},
{
"ref":"idc.get_enum_member_name",
"url":0,
"doc":"Get name of a constant @param const_id: id of const Returns: name of constant",
"func":1
},
{
"ref":"idc.get_enum_member_cmt",
"url":0,
"doc":"Get comment of a constant @param const_id: id of const @param repeatable: not used anymore @return: comment string",
"func":1
},
{
"ref":"idc.get_enum_member_value",
"url":0,
"doc":"Get value of an enum member @param const_id: id of const @return: member value or None",
"func":1
},
{
"ref":"idc.get_enum_member_bmask",
"url":0,
"doc":"Get bitmask of an enum member @param const_id: id of const @return: member value or None",
"func":1
},
{
"ref":"idc.add_enum",
"url":0,
"doc":"Add a new enum type @param idx: is not used anymore @param name: name of the enum. @param flag: flags for representation of numeric constants in the definition of enum. @return: id of new enum or BADADDR",
"func":1
},
{
"ref":"idc.del_enum",
"url":0,
"doc":"Delete an enum type @param enum_id: id of enum @return: success",
"func":1
},
{
"ref":"idc.set_enum_name",
"url":0,
"doc":"Set name of enum type @param enum_id: id of enum @param name: new enum name @return: 1-ok, 0-failed",
"func":1
},
{
"ref":"idc.set_enum_flag",
"url":0,
"doc":"Set enum constant representation flags @param enum_id: enum TID @param flag @return: success",
"func":1
},
{
"ref":"idc.set_enum_width",
"url":0,
"doc":"Set the width of enum base type @param enum_id: enum TID @param nbytes: width of enum base type, allowed values: 0 (unspecified),1,2,4,8,16,32,64 @return: success",
"func":1
},
{
"ref":"idc.is_bf",
"url":0,
"doc":"Is enum a bitmask ? @param enum_id: enum TID @return: if it is a bitmask enum return True, otherwise False",
"func":1
},
{
"ref":"idc.set_enum_bf",
"url":0,
"doc":"Set or clear the 'bitmask' attribute of an enum @param enum_id: enum TID @param bf: bitmask enum or not @return: success",
"func":1
},
{
"ref":"idc.set_enum_cmt",
"url":0,
"doc":"Set comment for enum type @param enum_id: enum TID @param cmt: comment @param repeatable: is comment repeatable ? @return: 1-ok, 0-failed",
"func":1
},
{
"ref":"idc.add_enum_member",
"url":0,
"doc":"Add a member of enum - a symbolic constant @param enum_id: id of enum @param name: name of symbolic constant. Must be unique in the program. @param value: value of symbolic constant. @param bmask: bitmask of the constant ordinary enums accept only -1 as a bitmask all bits set in value should be set in bmask too @return: 0-ok, otherwise error code (one of ENUM_MEMBER_ERROR_ )",
"func":1
},
{
"ref":"idc.del_enum_member",
"url":0,
"doc":"Delete a member of enum - a symbolic constant @param enum_id: id of enum @param value: value of symbolic constant. @param serial: serial number of the constant in the enumeration. See op_enum() for for details. @param bmask: bitmask of the constant ordinary enums accept only -1 as a bitmask @return: 1-ok, 0-failed",
"func":1
},
{
"ref":"idc.set_enum_member_name",
"url":0,
"doc":"Set name of enum member @param const_id: enum constant TID @param name: new member name @return: 1-ok, 0-failed",
"func":1
},
{
"ref":"idc.set_enum_member_cmt",
"url":0,
"doc":"Set comment for enum member @param const_id: enum constant TID @param cmt: comment @param repeatable: is not used anymore @return: 1-ok, 0-failed",
"func":1
},
{
"ref":"idc.AR_LONG",
"url":0,
"doc":"Array of longs"
},
{
"ref":"idc.AR_STR",
"url":0,
"doc":"Array of strings"
},
{
"ref":"idc.create_array",
"url":0,
"doc":"Create array. @param name: The array name. @return: -1 in case of failure, a valid array_id otherwise.",
"func":1
},
{
"ref":"idc.get_array_id",
"url":0,
"doc":"Get array array_id, by name. @param name: The array name. @return: -1 in case of failure (i.e., no array with that name exists), a valid array_id otherwise.",
"func":1
},
{
"ref":"idc.rename_array",
"url":0,
"doc":"Rename array, by its ID. @param id: The ID of the array to rename. @param newname: The new name of the array. @return: 1 in case of success, 0 otherwise",
"func":1
},
{
"ref":"idc.delete_array",
"url":0,
"doc":"Delete array, by its ID. @param array_id: The ID of the array to delete.",
"func":1
},
{
"ref":"idc.set_array_long",
"url":0,
"doc":"Sets the long value of an array element. @param array_id: The array ID. @param idx: Index of an element. @param value: 32bit or 64bit value to store in the array @return: 1 in case of success, 0 otherwise",
"func":1
},
{
"ref":"idc.set_array_string",
"url":0,
"doc":"Sets the string value of an array element. @param array_id: The array ID. @param idx: Index of an element. @param value: String value to store in the array @return: 1 in case of success, 0 otherwise",
"func":1
},
{
"ref":"idc.get_array_element",
"url":0,
"doc":"Get value of array element. @param tag: Tag of array, specifies one of two array types: AR_LONG, AR_STR @param array_id: The array ID. @param idx: Index of an element. @return: Value of the specified array element. Note that this function may return char or long result. Unexistent array elements give zero as a result.",
"func":1
},
{
"ref":"idc.del_array_element",
"url":0,
"doc":"Delete an array element. @param tag: Tag of array, specifies one of two array types: AR_LONG, AR_STR @param array_id: The array ID. @param idx: Index of an element. @return: 1 in case of success, 0 otherwise.",
"func":1
},
{
"ref":"idc.get_first_index",
"url":0,
"doc":"Get index of the first existing array element. @param tag: Tag of array, specifies one of two array types: AR_LONG, AR_STR @param array_id: The array ID. @return: -1 if the array is empty, otherwise index of first array element of given type.",
"func":1
},
{
"ref":"idc.get_last_index",
"url":0,
"doc":"Get index of last existing array element. @param tag: Tag of array, specifies one of two array types: AR_LONG, AR_STR @param array_id: The array ID. @return: -1 if the array is empty, otherwise index of first array element of given type.",
"func":1
},
{
"ref":"idc.get_next_index",
"url":0,
"doc":"Get index of the next existing array element. @param tag: Tag of array, specifies one of two array types: AR_LONG, AR_STR @param array_id: The array ID. @param idx: Index of the current element. @return: -1 if no more elements, otherwise returns index of the next array element of given type.",
"func":1
},
{
"ref":"idc.get_prev_index",
"url":0,
"doc":"Get index of the previous existing array element. @param tag: Tag of array, specifies one of two array types: AR_LONG, AR_STR @param array_id: The array ID. @param idx: Index of the current element. @return: -1 if no more elements, otherwise returns index of the previous array element of given type.",
"func":1
},
{
"ref":"idc.set_hash_long",
"url":0,
"doc":"Sets the long value of a hash element. @param hash_id: The hash ID. @param key: Key of an element. @param value: 32bit or 64bit value to store in the hash @return: 1 in case of success, 0 otherwise",
"func":1
},
{
"ref":"idc.get_hash_long",
"url":0,
"doc":"Gets the long value of a hash element. @param hash_id: The hash ID. @param key: Key of an element. @return: the 32bit or 64bit value of the element, or 0 if no such element.",
"func":1
},
{
"ref":"idc.set_hash_string",
"url":0,
"doc":"Sets the string value of a hash element. @param hash_id: The hash ID. @param key: Key of an element. @param value: string value to store in the hash @return: 1 in case of success, 0 otherwise",
"func":1
},
{
"ref":"idc.get_hash_string",
"url":0,
"doc":"Gets the string value of a hash element. @param hash_id: The hash ID. @param key: Key of an element. @return: the string value of the element, or None if no such element.",
"func":1
},
{
"ref":"idc.del_hash_string",
"url":0,
"doc":"Delete a hash element. @param hash_id: The hash ID. @param key: Key of an element @return: 1 upon success, 0 otherwise.",
"func":1
},
{
"ref":"idc.get_first_hash_key",
"url":0,
"doc":"Get the first key in the hash. @param hash_id: The hash ID. @return: the key, 0 otherwise.",
"func":1
},
{
"ref":"idc.get_last_hash_key",
"url":0,
"doc":"Get the last key in the hash. @param hash_id: The hash ID. @return: the key, 0 otherwise.",
"func":1
},
{
"ref":"idc.get_next_hash_key",
"url":0,
"doc":"Get the next key in the hash. @param hash_id: The hash ID. @param key: The current key. @return: the next key, 0 otherwise",
"func":1
},
{
"ref":"idc.get_prev_hash_key",
"url":0,
"doc":"Get the previous key in the hash. @param hash_id: The hash ID. @param key: The current key. @return: the previous key, 0 otherwise",
"func":1
},
{
"ref":"idc.add_default_til",
"url":0,
"doc":"Load a type library @param name: name of type library. @return: 1-ok, 0-failed.",
"func":1
},
{
"ref":"idc.import_type",
"url":0,
"doc":"Copy information from type library to database Copy structure, union, or enum definition from the type library to the IDA database. @param idx: -1, ignored @param type_name: name of type to copy @return: BADNODE-failed, otherwise the type id (structure id or enum id)",
"func":1
},
{
"ref":"idc.get_type",
"url":0,
"doc":"Get type of function/variable @param ea: the address of the object @return: type string or None if failed",
"func":1
},
{
"ref":"idc.sizeof",
"url":0,
"doc":"Returns the size of the type. It is equivalent to IDC's sizeof(). @param typestr: can be specified as a typeinfo tuple (e.g. the result of get_tinfo( , serialized type byte string, or a string with C declaration (e.g. \"int\") @return: -1 if typestring is not valid or has no size. otherwise size of the type",
"func":1
},
{
"ref":"idc.SizeOf",
"url":0,
"doc":"Returns the size of the type. It is equivalent to IDC's sizeof(). @param typestr: can be specified as a typeinfo tuple (e.g. the result of get_tinfo( , serialized type byte string, or a string with C declaration (e.g. \"int\") @return: -1 if typestring is not valid or has no size. otherwise size of the type",
"func":1
},
{
"ref":"idc.get_tinfo",
"url":0,
"doc":"Get type information of function/variable as 'typeinfo' object @param ea: the address of the object @return: None on failure, or (type, fields) tuple.",
"func":1
},
{
"ref":"idc.get_local_tinfo",
"url":0,
"doc":"Get local type information as 'typeinfo' object @param ordinal: slot number (1 .NumberOfLocalTypes) @return: None on failure, or (type, fields) tuple.",
"func":1
},
{
"ref":"idc.guess_type",
"url":0,
"doc":"Guess type of function/variable @param ea: the address of the object, can be the structure member id too @return: type string or None if failed",
"func":1
},
{
"ref":"idc.apply_type",
"url":0,
"doc":"Apply the specified type to the address @param ea: the address of the object @param py_type: typeinfo tuple (type, fields) as get_tinfo() returns or tuple (name, type, fields) as parse_decl() returns or None if specified as None, then the item associated with 'ea' will be deleted. @param flags: combination of TINFO_ . constants or 0 @return: Boolean",
"func":1
},
{
"ref":"idc.SetType",
"url":0,
"doc":"Set type of function/variable @param ea: the address of the object @param newtype: the type string in C declaration form. Must contain the closing ';' if specified as an empty string, then the item associated with 'ea' will be deleted. @return: 1-ok, 0-failed.",
"func":1
},
{
"ref":"idc.parse_decl",
"url":0,
"doc":"Parse type declaration @param inputtype: file name or C declarations (depending on the flags) @param flags: combination of PT_ . constants or 0 @return: None on failure or (name, type, fields) tuple",
"func":1
},
{
"ref":"idc.parse_decls",
"url":0,
"doc":"Parse type declarations @param inputtype: file name or C declarations (depending on the flags) @param flags: combination of PT_ . constants or 0 @return: number of parsing errors (0 no errors)",
"func":1
},
{
"ref":"idc.print_decls",
"url":0,
"doc":"Print types in a format suitable for use in a header file @param ordinals: comma-separated list of type ordinals @param flags: combination of PDF_ . constants or 0 @return: string containing the type definitions",
"func":1
},
{
"ref":"idc.get_ordinal_limit",
"url":0,
"doc":"Get number of local types + 1 @return: value >= 1. 1 means that there are no local types.",
"func":1
},
{
"ref":"idc.set_local_type",
"url":0,
"doc":"Parse one type declaration and store it in the specified slot @param ordinal: slot number (1 .NumberOfLocalTypes) -1 means allocate new slot or reuse the slot of the existing named type @param input: C declaration. Empty input empties the slot @param flags: combination of PT_ . constants or 0 @return: slot number or 0 if error",
"func":1
},
{
"ref":"idc.GetLocalType",
"url":0,
"doc":"Retrieve a local type declaration @param flags: any of PRTYPE_ constants @return: local type as a C declaration or  ",
"func":1
},
{
"ref":"idc.get_numbered_type_name",
"url":0,
"doc":"Retrieve a local type name @param ordinal: slot number (1 .NumberOfLocalTypes) returns: local type name or None",
"func":1
},
{
"ref":"idc.update_hidden_range",
"url":0,
"doc":"Set hidden range state @param ea: any address belonging to the hidden range @param visible: new state of the range @return: != 0 - ok",
"func":1
},
{
"ref":"idc.get_first_module",
"url":0,
"doc":"Enumerate process modules @return: first module's base address or None on failure",
"func":1
},
{
"ref":"idc.get_next_module",
"url":0,
"doc":"Enumerate process modules @param base: previous module's base address @return: next module's base address or None on failure",
"func":1
},
{
"ref":"idc.get_module_name",
"url":0,
"doc":"Get process module name @param base: the base address of the module @return: required info or None",
"func":1
},
{
"ref":"idc.get_module_size",
"url":0,
"doc":"Get process module size @param base: the base address of the module @return: required info or -1",
"func":1
},
{
"ref":"idc.resume_process",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.send_dbg_command",
"url":0,
"doc":"Sends a command to the debugger module and returns the output string. An exception will be raised if the debugger is not running or the current debugger does not export the 'send_dbg_command' IDC command.",
"func":1
},
{
"ref":"idc.DSTATE_RUN_WAIT_END",
"url":0,
"doc":"Get various information about the current debug event These functions are valid only when the current event exists (the process is in the suspended state)"
},
{
"ref":"idc.get_event_id",
"url":0,
"doc":"Get ID of debug event @return: event ID",
"func":1
},
{
"ref":"idc.get_event_pid",
"url":0,
"doc":"Get process ID for debug event @return: process ID",
"func":1
},
{
"ref":"idc.get_event_tid",
"url":0,
"doc":"Get type ID for debug event @return: type ID",
"func":1
},
{
"ref":"idc.get_event_ea",
"url":0,
"doc":"Get ea for debug event @return: ea",
"func":1
},
{
"ref":"idc.is_event_handled",
"url":0,
"doc":"Is the debug event handled? @return: boolean",
"func":1
},
{
"ref":"idc.get_event_module_name",
"url":0,
"doc":"Get module name for debug event @return: module name",
"func":1
},
{
"ref":"idc.get_event_module_base",
"url":0,
"doc":"Get module base for debug event @return: module base",
"func":1
},
{
"ref":"idc.get_event_module_size",
"url":0,
"doc":"Get module size for debug event @return: module size",
"func":1
},
{
"ref":"idc.get_event_exit_code",
"url":0,
"doc":"Get exit code for debug event @return: exit code for PROCESS_EXITED, THREAD_EXITED events",
"func":1
},
{
"ref":"idc.get_event_info",
"url":0,
"doc":"Get debug event info @return: event info: for THREAD_STARTED (thread name) for LIB_UNLOADED (unloaded library name) for INFORMATION (message to display)",
"func":1
},
{
"ref":"idc.get_event_bpt_hea",
"url":0,
"doc":"Get hardware address for BREAKPOINT event @return: hardware address",
"func":1
},
{
"ref":"idc.get_event_exc_code",
"url":0,
"doc":"Get exception code for EXCEPTION event @return: exception code",
"func":1
},
{
"ref":"idc.get_event_exc_ea",
"url":0,
"doc":"Get address for EXCEPTION event @return: adress of exception",
"func":1
},
{
"ref":"idc.can_exc_continue",
"url":0,
"doc":"Can it continue after EXCEPTION event? @return: boolean",
"func":1
},
{
"ref":"idc.get_event_exc_info",
"url":0,
"doc":"Get info for EXCEPTION event @return: info string",
"func":1
},
{
"ref":"idc.set_reg_value",
"url":0,
"doc":"Set register value @param name: the register name @param value: new register value @note: The debugger should be running It is not necessary to use this function to set register values. A register name in the left side of an assignment will do too.",
"func":1
},
{
"ref":"idc.get_bpt_ea",
"url":0,
"doc":"Get breakpoint address @param n: number of breakpoint, is in range 0 get_bpt_qty()-1 @return: address of the breakpoint or BADADDR",
"func":1
},
{
"ref":"idc.get_bpt_attr",
"url":0,
"doc":"Get the characteristics of a breakpoint @param ea: any address in the breakpoint range @param bptattr: the desired attribute code, one of BPTATTR_ . constants @return: the desired attribute value or -1",
"func":1
},
{
"ref":"idc.set_bpt_attr",
"url":0,
"doc":"modifiable characteristics of a breakpoint @param address: any address in the breakpoint range @param bptattr: the attribute code, one of BPTATTR_ constants BPTATTR_CND is not allowed, see set_bpt_cond() @param value: the attribute value @return: success",
"func":1
},
{
"ref":"idc.set_bpt_cond",
"url":0,
"doc":"Set breakpoint condition @param ea: any address in the breakpoint range @param cnd: breakpoint condition @param is_lowcnd: 0 - regular condition, 1 - low level condition @return: success",
"func":1
},
{
"ref":"idc.enable_tracing",
"url":0,
"doc":"Enable step tracing @param trace_level: what kind of trace to modify @param enable: 0: turn off, 1: turn on @return: success",
"func":1
},
{
"ref":"idc.clear_trace",
"url":0,
"doc":"Clear the current trace buffer",
"func":1
},
{
"ref":"idc.get_color",
"url":0,
"doc":"Get item color @param ea: address of the item @param what: type of the item (one of CIC_ constants) @return: color code in RGB (hex 0xBBGGRR)",
"func":1
},
{
"ref":"idc.set_color",
"url":0,
"doc":"Set item color @param ea: address of the item @param what: type of the item (one of CIC_ constants) @param color: new color code in RGB (hex 0xBBGGRR) @return: success (True or False)",
"func":1
},
{
"ref":"idc.force_bl_jump",
"url":0,
"doc":"Some ARM compilers in Thumb mode use BL (branch-and-link) instead of B (branch) for long jumps, since BL has more range. By default, IDA tries to determine if BL is a jump or a call. You can override IDA's decision using commands in Edit/Other menu (Force BL call/Force BL jump) or the following two functions. Force BL instruction to be a jump @param ea: address of the BL instruction @return: 1-ok, 0-failed",
"func":1
},
{
"ref":"idc.force_bl_call",
"url":0,
"doc":"Force BL instruction to be a call @param ea: address of the BL instruction @return: 1-ok, 0-failed",
"func":1
},
{
"ref":"idc.set_flag",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.here",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.is_mapped",
"url":0,
"doc":"",
"func":1
},
{
"ref":"idc.ARGV",
"url":0,
"doc":"The command line arguments passed to IDA via the -S switch."
},
{
"ref":"idautils",
"url":1,
"doc":"idautils.py - High level utility functions for IDA"
},
{
"ref":"idautils.CodeRefsTo",
"url":1,
"doc":"Get a list of code references to 'ea' @param ea: Target address @param flow: Follow normal code flow or not @type flow: Boolean (0/1, False/True) @return: list of references (may be empty list) Example for ref in CodeRefsTo(get_screen_ea(), 1): print(ref)",
"func":1
},
{
"ref":"idautils.CodeRefsFrom",
"url":1,
"doc":"Get a list of code references from 'ea' @param ea: Target address @param flow: Follow normal code flow or not @type flow: Boolean (0/1, False/True) @return: list of references (may be empty list) Example for ref in CodeRefsFrom(get_screen_ea(), 1): print(ref)",
"func":1
},
{
"ref":"idautils.DataRefsTo",
"url":1,
"doc":"Get a list of data references to 'ea' @param ea: Target address @return: list of references (may be empty list) Example for ref in DataRefsTo(get_screen_ea( : print(ref)",
"func":1
},
{
"ref":"idautils.DataRefsFrom",
"url":1,
"doc":"Get a list of data references from 'ea' @param ea: Target address @return: list of references (may be empty list) Example for ref in DataRefsFrom(get_screen_ea( : print(ref)",
"func":1
},
{
"ref":"idautils.XrefTypeName",
"url":1,
"doc":"Convert cross-reference type codes to readable names @param typecode: cross-reference type code",
"func":1
},
{
"ref":"idautils.XrefsFrom",
"url":1,
"doc":"Return all references from address 'ea' @param ea: Reference address @param flags: one of ida_xref.XREF_ALL (default), ida_xref.XREF_FAR, ida_xref.XREF_DATA Example for xref in XrefsFrom(here(), 0): print(xref.type, XrefTypeName(xref.type), 'from', hex(xref.frm), 'to', hex(xref.to ",
"func":1
},
{
"ref":"idautils.XrefsTo",
"url":1,
"doc":"Return all references to address 'ea' @param ea: Reference address @param flags: one of ida_xref.XREF_ALL (default), ida_xref.XREF_FAR, ida_xref.XREF_DATA Example for xref in XrefsTo(here(), 0): print(xref.type, XrefTypeName(xref.type), 'from', hex(xref.frm), 'to', hex(xref.to ",
"func":1
},
{
"ref":"idautils.Threads",
"url":1,
"doc":"Returns all thread IDs for the current debugee",
"func":1
},
{
"ref":"idautils.Heads",
"url":1,
"doc":"Get a list of heads (instructions or data items) @param start: start address (default: inf.min_ea) @param end: end address (default: inf.max_ea) @return: list of heads between start and end",
"func":1
},
{
"ref":"idautils.Functions",
"url":1,
"doc":"Get a list of functions @param start: start address (default: inf.min_ea) @param end: end address (default: inf.max_ea) @return: list of function entrypoints between start and end @note: The last function that starts before 'end' is included even if it extends beyond 'end'. Any function that has its chunks scattered in multiple segments will be reported multiple times, once in each segment as they are listed.",
"func":1
},
{
"ref":"idautils.Chunks",
"url":1,
"doc":"Get a list of function chunks See also ida_funcs.func_tail_iterator_t @param start: address of the function @return: list of function chunks (tuples of the form (start_ea, end_ea belonging to the function",
"func":1
},
{
"ref":"idautils.Modules",
"url":1,
"doc":"Returns a list of module objects with name,size,base and the rebase_to attributes",
"func":1
},
{
"ref":"idautils.Names",
"url":1,
"doc":"Returns a list of names @return: List of tuples (ea, name)",
"func":1
},
{
"ref":"idautils.Segments",
"url":1,
"doc":"Get list of segments (sections) in the binary image @return: List of segment start addresses.",
"func":1
},
{
"ref":"idautils.Entries",
"url":1,
"doc":"Returns a list of entry points (exports) @return: List of tuples (index, ordinal, ea, name)",
"func":1
},
{
"ref":"idautils.FuncItems",
"url":1,
"doc":"Get a list of function items (instruction or data items inside function boundaries) See also ida_funcs.func_item_iterator_t @param start: address of the function @return: ea of each item in the function",
"func":1
},
{
"ref":"idautils.Structs",
"url":1,
"doc":"Get a list of structures @return: List of tuples (ordinal, sid, name)",
"func":1
},
{
"ref":"idautils.StructMembers",
"url":1,
"doc":"Get a list of structure members information (or stack vars if given a frame). @param sid: ID of the structure. @return: List of tuples (offset_in_bytes, name, size_in_bytes) @note: If 'sid' does not refer to a valid structure, an exception will be raised. @note: This will not return 'holes' in structures/stack frames; it only returns defined structure members.",
"func":1
},
{
"ref":"idautils.DecodePrecedingInstruction",
"url":1,
"doc":"Decode preceding instruction in the execution flow. @param ea: address to decode @return: (None or the decode instruction, farref) farref will contain 'true' if followed an xref, false otherwise",
"func":1
},
{
"ref":"idautils.DecodePreviousInstruction",
"url":1,
"doc":"Decodes the previous instruction and returns an insn_t like class @param ea: address to decode @return: None or a new insn_t instance",
"func":1
},
{
"ref":"idautils.DecodeInstruction",
"url":1,
"doc":"Decodes an instruction and returns an insn_t like class @param ea: address to decode @return: None or a new insn_t instance",
"func":1
},
{
"ref":"idautils.GetDataList",
"url":1,
"doc":"Get data list - INTERNAL USE ONLY",
"func":1
},
{
"ref":"idautils.PutDataList",
"url":1,
"doc":"Put data list - INTERNAL USE ONLY",
"func":1
},
{
"ref":"idautils.MapDataList",
"url":1,
"doc":"Map through a list of data words in the database @param ea: start address @param length: number of words to map @param func: mapping function @param wordsize: size of words to map [default: 1 byte] @return: None",
"func":1
},
{
"ref":"idautils.Strings",
"url":1,
"doc":"Allows iterating over the string list. The set of strings will not be modified, unless asked explicitly at setup()-time. This string list also is used by the \"String window\" so it may be changed when this window is updated. Example: s = Strings() for i in s: print(\"%x: len=%d type=%d -> '%s'\" % (i.ea, i.length, i.strtype, str(i ) Initializes the Strings enumeration helper class @param default_setup: Set to True to use default setup (C strings, min len 5,  .)"
},
{
"ref":"idautils.Strings.StringItem",
"url":1,
"doc":"Class representing each string item."
},
{
"ref":"idautils.Strings.clear_cache",
"url":1,
"doc":"Clears the string list cache",
"func":1
},
{
"ref":"idautils.Strings.refresh",
"url":1,
"doc":"Refreshes the string list",
"func":1
},
{
"ref":"idautils.Strings.setup",
"url":1,
"doc":"",
"func":1
},
{
"ref":"idautils.GetIdbDir",
"url":1,
"doc":"Get IDB directory This function returns directory path of the current IDB database",
"func":1
},
{
"ref":"idautils.GetRegisterList",
"url":1,
"doc":"Returns the register list",
"func":1
},
{
"ref":"idautils.GetInstructionList",
"url":1,
"doc":"Returns the instruction list of the current processor module",
"func":1
},
{
"ref":"idautils.Assemble",
"url":1,
"doc":"Assembles one or more lines (does not display an message dialogs) If line is a list then this function will attempt to assemble all the lines This function will turn on batch mode temporarily so that no messages are displayed on the screen @param ea: start address @return: (False, \"Error message\") or (True, asm_buf) or (True, [asm_buf1, asm_buf2, asm_buf3])",
"func":1
},
{
"ref":"idautils.ProcessUiActions",
"url":1,
"doc":"@param actions: A string containing a list of actions separated by semicolon, a list or a tuple @param flags: flags to be passed to process_ui_action() @return: Boolean. Returns False if the action list was empty or execute_ui_requests() failed.",
"func":1
},
{
"ref":"idautils.peutils_t",
"url":1,
"doc":"PE utility class. Retrieves PE information from the database. Constants from pe.h"
},
{
"ref":"idautils.peutils_t.PE_NODE",
"url":1,
"doc":""
},
{
"ref":"idautils.peutils_t.PE_ALT_DBG_FPOS",
"url":1,
"doc":""
},
{
"ref":"idautils.peutils_t.PE_ALT_IMAGEBASE",
"url":1,
"doc":""
},
{
"ref":"idautils.peutils_t.PE_ALT_PEHDR_OFF",
"url":1,
"doc":""
},
{
"ref":"idautils.peutils_t.PE_ALT_NEFLAGS",
"url":1,
"doc":""
},
{
"ref":"idautils.peutils_t.PE_ALT_TDS_LOADED",
"url":1,
"doc":""
},
{
"ref":"idautils.peutils_t.PE_ALT_PSXDLL",
"url":1,
"doc":""
},
{
"ref":"idautils.peutils_t.imagebase",
"url":1,
"doc":"Loading address (usually pe.imagebase)"
},
{
"ref":"idautils.peutils_t.header_offset",
"url":1,
"doc":"Offset of PE header"
},
{
"ref":"idautils.peutils_t.header",
"url":1,
"doc":"",
"func":1
},
{
"ref":"idautils.cpu",
"url":1,
"doc":"This is a special class instance used to access the registers as if they were attributes of this object. For example to access the EAX register: print(\"%x\" % cpu.Eax)"
},
{
"ref":"idautils.procregs",
"url":1,
"doc":"This object is used to access the processor registers. It is useful when decoding instructions and you want to see which instruction is which. For example: x = idautils.DecodeInstruction(here( if x[0]  procregs.Esp: print(\"This operand is the register ESP)"
},
{
"ref":"ida_auto",
"url":2,
"doc":"Functions that work with the autoanalyzer queue. The autoanalyzer works when IDA is not busy processing the user keystrokes. It has several queues, each queue having its own priority. The analyzer stops when all queues are empty. A queue contains addresses or address ranges. The addresses are kept sorted by their values. The analyzer will process all addresses from the first queue, then switch to the second queue and so on. There are no limitations on the size of the queues. This file also contains functions that deal with the IDA status indicator and the autoanalysis indicator. You may use these functions to change the indicator value."
},
{
"ref":"ida_auto.get_auto_state",
"url":2,
"doc":"get_auto_state() -> atype_t Get current state of autoanalyzer. If auto_state  AU_NONE, IDA is currently not running the analysis (it could be temporarily interrupted to perform the user's requests, for example).",
"func":1
},
{
"ref":"ida_auto.set_auto_state",
"url":2,
"doc":"set_auto_state(new_state) -> atype_t Set current state of autoanalyzer. @param new_state: (C : atype_t) new state of autoanalyzer @return: previous state",
"func":1
},
{
"ref":"ida_auto.auto_display_t",
"url":2,
"doc":"Proxy of C auto_display_t class. __init__(self) -> auto_display_t"
},
{
"ref":"ida_auto.auto_display_t.thisown",
"url":2,
"doc":"The membership flag"
},
{
"ref":"ida_auto.auto_display_t.type",
"url":2,
"doc":"type"
},
{
"ref":"ida_auto.auto_display_t.ea",
"url":2,
"doc":"ea"
},
{
"ref":"ida_auto.auto_display_t.state",
"url":2,
"doc":"state"
},
{
"ref":"ida_auto.AU_NONE",
"url":2,
"doc":"placeholder, not used"
},
{
"ref":"ida_auto.AU_UNK",
"url":2,
"doc":"0: convert to unexplored"
},
{
"ref":"ida_auto.AU_CODE",
"url":2,
"doc":"1: convert to instruction"
},
{
"ref":"ida_auto.AU_WEAK",
"url":2,
"doc":"2: convert to instruction (ida decision)"
},
{
"ref":"ida_auto.AU_PROC",
"url":2,
"doc":"3: convert to procedure start"
},
{
"ref":"ida_auto.AU_TAIL",
"url":2,
"doc":"4: add a procedure tail"
},
{
"ref":"ida_auto.AU_FCHUNK",
"url":2,
"doc":"5: find func chunks"
},
{
"ref":"ida_auto.AU_USED",
"url":2,
"doc":"6: reanalyze"
},
{
"ref":"ida_auto.AU_USD2",
"url":2,
"doc":"7: reanalyze, second pass"
},
{
"ref":"ida_auto.AU_TYPE",
"url":2,
"doc":"8: apply type information"
},
{
"ref":"ida_auto.AU_LIBF",
"url":2,
"doc":"9: apply signature to address"
},
{
"ref":"ida_auto.AU_LBF2",
"url":2,
"doc":"10: the same, second pass"
},
{
"ref":"ida_auto.AU_LBF3",
"url":2,
"doc":"11: the same, third pass"
},
{
"ref":"ida_auto.AU_CHLB",
"url":2,
"doc":"12: load signature file (file name is kept separately)"
},
{
"ref":"ida_auto.AU_FINAL",
"url":2,
"doc":"13: final pass"
},
{
"ref":"ida_auto.st_Ready",
"url":2,
"doc":"READY: IDA is doing nothing."
},
{
"ref":"ida_auto.st_Think",
"url":2,
"doc":"THINKING: Autoanalysis on, the user may press keys."
},
{
"ref":"ida_auto.st_Waiting",
"url":2,
"doc":"WAITING: Waiting for the user input."
},
{
"ref":"ida_auto.st_Work",
"url":2,
"doc":"BUSY: IDA is busy."
},
{
"ref":"ida_auto.get_auto_display",
"url":2,
"doc":"get_auto_display(auto_display) -> bool Get structure which holds the autoanalysis indicator contents. @param auto_display: (C : auto_display_t  )",
"func":1
},
{
"ref":"ida_auto.show_auto",
"url":2,
"doc":"show_auto(ea, type=AU_NONE) Change autoanalysis indicator value. @param ea: (C : ea_t) linear address being analyzed @param type: (C : atype_t) autoanalysis type (see Autoanalysis queues)",
"func":1
},
{
"ref":"ida_auto.show_addr",
"url":2,
"doc":"show_addr(ea) Show an address on the autoanalysis indicator. The address is displayed in the form \" @:12345678\". @param ea: (C : ea_t) - linear address to display",
"func":1
},
{
"ref":"ida_auto.set_ida_state",
"url":2,
"doc":"set_ida_state(st) -> idastate_t Change IDA status indicator value @param st: (C : idastate_t) - new indicator status @return: old indicator status",
"func":1
},
{
"ref":"ida_auto.may_create_stkvars",
"url":2,
"doc":"may_create_stkvars() -> bool Is it allowed to create stack variables automatically?. This function should be used by IDP modules before creating stack vars.",
"func":1
},
{
"ref":"ida_auto.may_trace_sp",
"url":2,
"doc":"may_trace_sp() -> bool Is it allowed to trace stack pointer automatically?. This function should be used by IDP modules before tracing sp.",
"func":1
},
{
"ref":"ida_auto.auto_mark_range",
"url":2,
"doc":"auto_mark_range(start, end, type) Put range of addresses into a queue. 'start' may be higher than 'end', the kernel will swap them in this case. 'end' doesn't belong to the range. @param start: (C : ea_t) @param end: (C : ea_t) @param type: (C : atype_t)",
"func":1
},
{
"ref":"ida_auto.auto_mark",
"url":2,
"doc":"auto_mark(ea, type) Put single address into a queue. Queues keep addresses sorted. @param ea: (C : ea_t) @param type: (C : atype_t)",
"func":1
},
{
"ref":"ida_auto.auto_unmark",
"url":2,
"doc":"auto_unmark(start, end, type) Remove range of addresses from a queue. 'start' may be higher than 'end', the kernel will swap them in this case. 'end' doesn't belong to the range. @param start: (C : ea_t) @param end: (C : ea_t) @param type: (C : atype_t)",
"func":1
},
{
"ref":"ida_auto.plan_ea",
"url":2,
"doc":"plan_ea(ea) Plan to perform reanalysis. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_auto.plan_range",
"url":2,
"doc":"plan_range(sEA, eEA) Plan to perform reanalysis. @param sEA: (C : ea_t) @param eEA: (C : ea_t)",
"func":1
},
{
"ref":"ida_auto.auto_make_code",
"url":2,
"doc":"auto_make_code(ea) Plan to make code. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_auto.auto_make_proc",
"url":2,
"doc":"auto_make_proc(ea) Plan to make code&function. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_auto.auto_postpone_analysis",
"url":2,
"doc":"auto_postpone_analysis(ea) -> bool Plan to reanalyze on the second pass The typical usage of this function in emu.cpp is: if ( !auto_postpone_analysis(ea) ) op_offset(ea, 0,  .); (we make an offset only on the second pass) @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_auto.reanalyze_callers",
"url":2,
"doc":"reanalyze_callers(ea, noret) Plan to reanalyze callers of the specified address. This function will add to AU_USED queue all instructions that call (not jump to) the specified address. @param ea: (C : ea_t) linear address of callee @param noret: (C : bool) !=0: the callee doesn't return, mark to undefine subsequent instructions in the caller. 0: do nothing.",
"func":1
},
{
"ref":"ida_auto.revert_ida_decisions",
"url":2,
"doc":"revert_ida_decisions(ea1, ea2) Delete all analysis info that IDA generated for for the given range. @param ea1: (C : ea_t) @param ea2: (C : ea_t)",
"func":1
},
{
"ref":"ida_auto.auto_apply_type",
"url":2,
"doc":"auto_apply_type(caller, callee) Plan to apply the callee's type to the calling point. @param caller: (C : ea_t) @param callee: (C : ea_t)",
"func":1
},
{
"ref":"ida_auto.auto_apply_tail",
"url":2,
"doc":"auto_apply_tail(tail_ea, parent_ea) Plan to apply the tail_ea chunk to the parent @param tail_ea: (C : ea_t) linear address of start of tail @param parent_ea: (C : ea_t) linear address within parent. If BADADDR, automatically try to find parent via xrefs.",
"func":1
},
{
"ref":"ida_auto.plan_and_wait",
"url":2,
"doc":"plan_and_wait(ea1, ea2, final_pass=True) -> int Analyze the specified range. Try to create instructions where possible. Make the final pass over the specified range if specified. This function doesn't return until the range is analyzed. @retval 1: ok @retval 0: Ctrl-Break was pressed @param ea1: (C : ea_t) @param ea2: (C : ea_t) @param final_pass: (C : bool)",
"func":1
},
{
"ref":"ida_auto.auto_wait",
"url":2,
"doc":"auto_wait() -> bool Process everything in the queues and return true. @return: false if the user clicked cancel. (the wait box must be displayed by the caller if desired)",
"func":1
},
{
"ref":"ida_auto.auto_wait_range",
"url":2,
"doc":"auto_wait_range(ea1, ea2) -> ssize_t Process everything in the specified range and return true. @param ea1: (C : ea_t) @param ea2: (C : ea_t) @return: number of autoanalysis steps made. -1 if the user clicked cancel. (the wait box must be displayed by the caller if desired)",
"func":1
},
{
"ref":"ida_auto.auto_make_step",
"url":2,
"doc":"auto_make_step(ea1, ea2) -> bool Analyze one address in the specified range and return true. @param ea1: (C : ea_t) @param ea2: (C : ea_t) @return: if processed anything. false means that there is nothing to process in the specified range.",
"func":1
},
{
"ref":"ida_auto.auto_cancel",
"url":2,
"doc":"auto_cancel(ea1, ea2) Remove an address range (ea1 ea2) from queues AU_CODE, AU_PROC, AU_USED. To remove an address range from other queues use auto_unmark() function. 'ea1' may be higher than 'ea2', the kernel will swap them in this case. 'ea2' doesn't belong to the range. @param ea1: (C : ea_t) @param ea2: (C : ea_t)",
"func":1
},
{
"ref":"ida_auto.auto_is_ok",
"url":2,
"doc":"auto_is_ok() -> bool Are all queues empty? (i.e. has autoanalysis finished?).",
"func":1
},
{
"ref":"ida_auto.peek_auto_queue",
"url":2,
"doc":"peek_auto_queue(low_ea, type) -> ea_t Peek into a queue 'type' for an address not lower than 'low_ea'. Do not remove address from the queue. @param low_ea: (C : ea_t) @param type: (C : atype_t) @return: the address or BADADDR",
"func":1
},
{
"ref":"ida_auto.auto_get",
"url":2,
"doc":"auto_get(type, lowEA, highEA) -> ea_t Retrieve an address from queues regarding their priority. Returns BADADDR if no addresses not lower than 'lowEA' and less than 'highEA' are found in the queues. Otherwise  type will have queue type. @param type: (C : atype_t  ) @param lowEA: (C : ea_t) @param highEA: (C : ea_t)",
"func":1
},
{
"ref":"ida_auto.auto_recreate_insn",
"url":2,
"doc":"auto_recreate_insn(ea) -> int Try to create instruction @param ea: (C : ea_t) linear address of callee @return: the length of the instruction or 0",
"func":1
},
{
"ref":"ida_auto.is_auto_enabled",
"url":2,
"doc":"is_auto_enabled() -> bool Get autoanalyzer state.",
"func":1
},
{
"ref":"ida_auto.enable_auto",
"url":2,
"doc":"enable_auto(enable) -> bool Temporarily enable/disable autoanalyzer. Not user-facing, but rather because IDA sometimes need to turn AA on/off regardless of inf.s_genflags:INFFL_AUTO @param enable: (C : bool) @return: old state",
"func":1
},
{
"ref":"ida_bitrange",
"url":3,
"doc":"Definition of the bitrange_t class."
},
{
"ref":"ida_bitrange.bitrange_t",
"url":3,
"doc":"Proxy of C bitrange_t class. __init__(self, bit_ofs=0, size_in_bits=0) -> bitrange_t @param bit_ofs: uint16 @param size_in_bits: uint16"
},
{
"ref":"ida_bitrange.bitrange_t.thisown",
"url":3,
"doc":"The membership flag"
},
{
"ref":"ida_bitrange.bitrange_t.init",
"url":3,
"doc":"init(self, bit_ofs, size_in_bits) Initialize offset and size to given values. @param bit_ofs: (C : uint16) @param size_in_bits: (C : uint16)",
"func":1
},
{
"ref":"ida_bitrange.bitrange_t.reset",
"url":3,
"doc":"reset(self) Make the bitrange empty.",
"func":1
},
{
"ref":"ida_bitrange.bitrange_t.empty",
"url":3,
"doc":"empty(self) -> bool Is the bitrange empty?",
"func":1
},
{
"ref":"ida_bitrange.bitrange_t.bitoff",
"url":3,
"doc":"bitoff(self) -> uint Get offset of 1st bit.",
"func":1
},
{
"ref":"ida_bitrange.bitrange_t.bitsize",
"url":3,
"doc":"bitsize(self) -> uint Get size of the value in bits.",
"func":1
},
{
"ref":"ida_bitrange.bitrange_t.bytesize",
"url":3,
"doc":"bytesize(self) -> uint Size of the value in bytes.",
"func":1
},
{
"ref":"ida_bitrange.bitrange_t.mask64",
"url":3,
"doc":"mask64(self) -> uint64 Convert to mask of 64 bits.",
"func":1
},
{
"ref":"ida_bitrange.bitrange_t.has_common",
"url":3,
"doc":"has_common(self, r) -> bool Does have common bits with another bitrange? @param r: (C : const bitrange_t &) bitrange_t const &",
"func":1
},
{
"ref":"ida_bitrange.bitrange_t.apply_mask",
"url":3,
"doc":"apply_mask(self, subrange) -> bool Apply mask to a bitrange @param subrange: (C : const bitrange_t &) range  inside the main bitrange to keep After this operation the main bitrange will be truncated to have only the bits that are specified by subrange. Example: [off=8,nbits=4], subrange[off=1,nbits=2] => [off=9,nbits=2] @return: success",
"func":1
},
{
"ref":"ida_bitrange.bitrange_t.intersect",
"url":3,
"doc":"intersect(self, r) Intersect two ranges. @param r: (C : const bitrange_t &) bitrange_t const &",
"func":1
},
{
"ref":"ida_bitrange.bitrange_t.create_union",
"url":3,
"doc":"create_union(self, r) Create union of 2 ranges including the hole between them. @param r: (C : const bitrange_t &) bitrange_t const &",
"func":1
},
{
"ref":"ida_bitrange.bitrange_t.sub",
"url":3,
"doc":"sub(self, r) -> bool Subtract a bitrange. @param r: (C : const bitrange_t &) bitrange_t const &",
"func":1
},
{
"ref":"ida_bitrange.bitrange_t.shift_down",
"url":3,
"doc":"shift_down(self, cnt) Shift range down (left) @param cnt: (C : uint)",
"func":1
},
{
"ref":"ida_bitrange.bitrange_t.shift_up",
"url":3,
"doc":"shift_up(self, cnt) Shift range up (right) @param cnt: (C : uint)",
"func":1
},
{
"ref":"ida_bitrange.bitrange_t.extract",
"url":3,
"doc":"extract(self, src, is_mf) -> bool @param src: void const  @param is_mf: bool",
"func":1
},
{
"ref":"ida_bitrange.bitrange_t.inject",
"url":3,
"doc":"inject(self, dst, src, is_mf) -> bool @param dst: void  @param src: bytevec_t const & @param is_mf: bool",
"func":1
},
{
"ref":"ida_bitrange.bitrange_t.compare",
"url":3,
"doc":"compare(self, r) -> int @param r: bitrange_t const &",
"func":1
},
{
"ref":"ida_bytes",
"url":4,
"doc":"Contains functions that deal with individual byte characteristics. Each byte of the disassembled program is represented by a 32-bit value. We will call this value 'flags'. The structure of the flags is here. You are not allowed to inspect individual bits of flags and modify them directly. Use special functions to inspect and/or modify flags. Flags are kept in a virtual array file ( .id1). Addresses (ea) are all 32-bit (or 64-bit) quantities."
},
{
"ref":"ida_bytes.compiled_binpat_vec_t",
"url":4,
"doc":"Proxy of C qvector class. __init__(self) -> compiled_binpat_vec_t __init__(self, x) -> compiled_binpat_vec_t @param x: qvector const &"
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.thisown",
"url":4,
"doc":"The membership flag"
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.push_back",
"url":4,
"doc":"push_back(self, x) @param x: compiled_binpat_t const & push_back(self) -> compiled_binpat_t",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.pop_back",
"url":4,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.size",
"url":4,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.empty",
"url":4,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.at",
"url":4,
"doc":"at(self, _idx) -> compiled_binpat_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.qclear",
"url":4,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.clear",
"url":4,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.resize",
"url":4,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: compiled_binpat_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.grow",
"url":4,
"doc":"grow(self, x=compiled_binpat_t( @param x: compiled_binpat_t const &",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.capacity",
"url":4,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.reserve",
"url":4,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.truncate",
"url":4,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.swap",
"url":4,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.extract",
"url":4,
"doc":"extract(self) -> compiled_binpat_t",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.inject",
"url":4,
"doc":"inject(self, s, len) @param s: compiled_binpat_t  @param len: size_t",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.begin",
"url":4,
"doc":"begin(self) -> compiled_binpat_t",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.end",
"url":4,
"doc":"end(self) -> compiled_binpat_t",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.insert",
"url":4,
"doc":"insert(self, it, x) -> compiled_binpat_t @param it: qvector  iterator @param x: compiled_binpat_t const &",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.erase",
"url":4,
"doc":"erase(self, it) -> compiled_binpat_t @param it: qvector  iterator erase(self, first, last) -> compiled_binpat_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.find",
"url":4,
"doc":"find(self, x) -> compiled_binpat_t @param x: compiled_binpat_t const &",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.has",
"url":4,
"doc":"has(self, x) -> bool @param x: compiled_binpat_t const &",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.add_unique",
"url":4,
"doc":"add_unique(self, x) -> bool @param x: compiled_binpat_t const &",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.front",
"url":4,
"doc":"",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_vec_t.back",
"url":4,
"doc":"",
"func":1
},
{
"ref":"ida_bytes.enable_flags",
"url":4,
"doc":"enable_flags(start_ea, end_ea, stt) -> error_t Allocate flags for address range. This function does not change the storage type of existing ranges. Exit with an error message if not enough disk space. @param start_ea: (C : ea_t) should be lower than end_ea. @param end_ea: (C : ea_t) does not belong to the range. @param stt: (C : storage_type_t) @return: 0 if ok, otherwise an error code",
"func":1
},
{
"ref":"ida_bytes.disable_flags",
"url":4,
"doc":"disable_flags(start_ea, end_ea) -> error_t Deallocate flags for address range. Exit with an error message if not enough disk space (this may occur too). @param start_ea: (C : ea_t) should be lower than end_ea. @param end_ea: (C : ea_t) does not belong to the range. @return: 0 if ok, otherwise return error code",
"func":1
},
{
"ref":"ida_bytes.change_storage_type",
"url":4,
"doc":"change_storage_type(start_ea, end_ea, stt) -> error_t Change flag storage type for address range. @param start_ea: (C : ea_t) should be lower than end_ea. @param end_ea: (C : ea_t) does not belong to the range. @param stt: (C : storage_type_t) @return: error code",
"func":1
},
{
"ref":"ida_bytes.next_addr",
"url":4,
"doc":"next_addr(ea) -> ea_t Get next address in the program (i.e. next address which has flags). @param ea: (C : ea_t) @return: BADADDR if no such address exist.",
"func":1
},
{
"ref":"ida_bytes.prev_addr",
"url":4,
"doc":"prev_addr(ea) -> ea_t Get previous address in the program. @param ea: (C : ea_t) @return: BADADDR if no such address exist.",
"func":1
},
{
"ref":"ida_bytes.next_chunk",
"url":4,
"doc":"next_chunk(ea) -> ea_t Get the first address of next contiguous chunk in the program. @param ea: (C : ea_t) @return: BADADDR if next chunk doesn't exist.",
"func":1
},
{
"ref":"ida_bytes.prev_chunk",
"url":4,
"doc":"prev_chunk(ea) -> ea_t Get the last address of previous contiguous chunk in the program. @param ea: (C : ea_t) @return: BADADDR if previous chunk doesn't exist.",
"func":1
},
{
"ref":"ida_bytes.chunk_start",
"url":4,
"doc":"chunk_start(ea) -> ea_t Get start of the contiguous address block containing 'ea'. @param ea: (C : ea_t) @return: BADADDR if 'ea' doesn't belong to the program.",
"func":1
},
{
"ref":"ida_bytes.chunk_size",
"url":4,
"doc":"chunk_size(ea) -> asize_t Get size of the contiguous address block containing 'ea'. @param ea: (C : ea_t) @return: 0 if 'ea' doesn't belong to the program.",
"func":1
},
{
"ref":"ida_bytes.find_free_chunk",
"url":4,
"doc":"find_free_chunk(start, size, alignment) -> ea_t Search for a hole in the addressing space of the program. @param start: (C : ea_t) Address to start searching from @param size: (C : asize_t) Size of the desired empty range @param alignment: (C : asize_t) Alignment bitmask, must be a pow2-1. (for example, 0xF would align the returned range to 16 bytes). @return: Start of the found empty range or BADADDR",
"func":1
},
{
"ref":"ida_bytes.next_that",
"url":4,
"doc":"next_that(ea, maxea, testf) -> ea_t Find next address with a flag satisfying the function 'testf'. @note: do not pass is_unknown() to this function to find unexplored bytes. It will fail under the debugger. To find unexplored bytes, use next_unknown(). @param ea: (C : ea_t) start searching at this address + 1 @param maxea: (C : ea_t) not included in the search range. @param testf: (C : testf_t  ) test function to find next address @return: the found address or BADADDR.",
"func":1
},
{
"ref":"ida_bytes.next_unknown",
"url":4,
"doc":"next_unknown(ea, maxea) -> ea_t Similar to next_that(), but will find the next address that is unexplored. @param ea: (C : ea_t) @param maxea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.prev_that",
"url":4,
"doc":"prev_that(ea, minea, testf) -> ea_t Find previous address with a flag satisfying the function 'testf'. @note: do not pass is_unknown() to this function to find unexplored bytes It will fail under the debugger. To find unexplored bytes, use prev_unknown(). @param ea: (C : ea_t) start searching from this address - 1. @param minea: (C : ea_t) included in the search range. @param testf: (C : testf_t  ) test function to find previous address @return: the found address or BADADDR.",
"func":1
},
{
"ref":"ida_bytes.prev_unknown",
"url":4,
"doc":"prev_unknown(ea, minea) -> ea_t Similar to prev_that(), but will find the previous address that is unexplored. @param ea: (C : ea_t) @param minea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.prev_head",
"url":4,
"doc":"prev_head(ea, minea) -> ea_t Get start of previous defined item. @param ea: (C : ea_t) begin search at this address @param minea: (C : ea_t) included in the search range @return: BADADDR if none exists.",
"func":1
},
{
"ref":"ida_bytes.next_head",
"url":4,
"doc":"next_head(ea, maxea) -> ea_t Get start of next defined item. @param ea: (C : ea_t) begin search at this address @param maxea: (C : ea_t) not included in the search range @return: BADADDR if none exists.",
"func":1
},
{
"ref":"ida_bytes.prev_not_tail",
"url":4,
"doc":"prev_not_tail(ea) -> ea_t Get address of previous non-tail byte. @param ea: (C : ea_t) @return: BADADDR if none exists.",
"func":1
},
{
"ref":"ida_bytes.next_not_tail",
"url":4,
"doc":"next_not_tail(ea) -> ea_t Get address of next non-tail byte. @param ea: (C : ea_t) @return: BADADDR if none exists.",
"func":1
},
{
"ref":"ida_bytes.prev_visea",
"url":4,
"doc":"prev_visea(ea) -> ea_t Get previous visible address. @param ea: (C : ea_t) @return: BADADDR if none exists.",
"func":1
},
{
"ref":"ida_bytes.next_visea",
"url":4,
"doc":"next_visea(ea) -> ea_t Get next visible address. @param ea: (C : ea_t) @return: BADADDR if none exists.",
"func":1
},
{
"ref":"ida_bytes.get_item_head",
"url":4,
"doc":"get_item_head(ea) -> ea_t Get the start address of the item at 'ea'. If there is no current item, then 'ea' will be returned (see definition at the end of bytes.hpp source) @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.get_item_end",
"url":4,
"doc":"get_item_end(ea) -> ea_t Get the end address of the item at 'ea'. The returned address doesn't belong to the current item. Unexplored bytes are counted as 1 byte entities. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.calc_max_item_end",
"url":4,
"doc":"calc_max_item_end(ea, how=15) -> ea_t Calculate maximal reasonable end address of a new item. This function will limit the item with the current segment bounds. @param ea: (C : ea_t) linear address @param how: (C : int) when to stop the search. A combination of Item end search flags @return: end of new item. If it is not possible to create an item, it will return 'ea'. If operation was cancelled by user, it will return 'ea'",
"func":1
},
{
"ref":"ida_bytes.ITEM_END_FIXUP",
"url":4,
"doc":"stop at the first fixup"
},
{
"ref":"ida_bytes.ITEM_END_INITED",
"url":4,
"doc":"stop when initialization changes i.e.  if is_loaded(ea): stop if uninitialized byte is encountered  if !is_loaded(ea): stop if initialized byte is encountered"
},
{
"ref":"ida_bytes.ITEM_END_NAME",
"url":4,
"doc":"stop at the first named location"
},
{
"ref":"ida_bytes.ITEM_END_XREF",
"url":4,
"doc":"stop at the first referenced location"
},
{
"ref":"ida_bytes.ITEM_END_CANCEL",
"url":4,
"doc":"stop when operation cancelled, it is the responsibility of the caller to show the wait dialog"
},
{
"ref":"ida_bytes.get_item_size",
"url":4,
"doc":"get_item_size(ea) -> asize_t Get size of item (instruction/data) in bytes. Unexplored bytes have length of 1 byte. This function returns 0 only for BADADDR. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.is_mapped",
"url":4,
"doc":"is_mapped(ea) -> bool Is the specified address 'ea' present in the program? @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.get_flags_ex",
"url":4,
"doc":"get_flags_ex(ea, how) -> flags64_t Get flags for the specified address, extended form. @param ea: (C : ea_t) @param how: (C : int)",
"func":1
},
{
"ref":"ida_bytes.GFE_VALUE",
"url":4,
"doc":"get flags with FF_IVL & MS_VAL. It is much slower under remote debugging because the kernel needs to read the process memory."
},
{
"ref":"ida_bytes.GFE_IDB_VALUE",
"url":4,
"doc":"get flags with FF_IVL & MS_VAL. but never use the debugger memory."
},
{
"ref":"ida_bytes.get_flags",
"url":4,
"doc":"get_flags(ea) -> flags64_t get flags with FF_IVL & MS_VAL. It is much slower under remote debugging because the kernel needs to read the process memory. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.get_full_flags",
"url":4,
"doc":"get_full_flags(ea) -> flags64_t Get flags value for address 'ea'. @param ea: (C : ea_t) @return: 0 if address is not present in the program",
"func":1
},
{
"ref":"ida_bytes.get_item_flag",
"url":4,
"doc":"get_item_flag(_from, n, ea, appzero) -> flags64_t Get flag of the item at 'ea' even if it is a tail byte of some array or structure. This function is used to get flags of structure members or array elements. @param from: (C : ea_t) linear address of the instruction which refers to 'ea' @param n: (C : int) operand number which refers to 'ea' or OPND_ALL for one of the operands @param ea: (C : ea_t) the referenced address @param appzero: (C : bool) append a struct field name if the field offset is zero? meaningful only if the name refers to a structure. @return: flags or 0 (if failed)",
"func":1
},
{
"ref":"ida_bytes.get_item_refinfo",
"url":4,
"doc":"get_item_refinfo(ri, ea, n) -> bool Get refinfo of the item at 'ea'. This function works for a regular offset operand as well as for a tail byte of a structure variable (in this case refinfo to corresponding structure member will be returned) @param ri: (C : refinfo_t  ) refinfo holder @param ea: (C : ea_t) the item address @param n: (C : int) operand number which refers to 'ea' or OPND_ALL for one of the operands @return: success",
"func":1
},
{
"ref":"ida_bytes.MS_VAL",
"url":4,
"doc":"Mask for byte value."
},
{
"ref":"ida_bytes.FF_IVL",
"url":4,
"doc":"Byte has value ?"
},
{
"ref":"ida_bytes.has_value",
"url":4,
"doc":"has_value(F) -> bool Do flags contain byte value? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.del_value",
"url":4,
"doc":"del_value(ea) Delete byte value from flags. The corresponding byte becomes uninitialized. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.is_loaded",
"url":4,
"doc":"is_loaded(ea) -> bool Does the specified address have a byte value (is initialized?) @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.nbits",
"url":4,
"doc":"nbits(ea) -> int Get number of bits in a byte at the given address. @param ea: (C : ea_t) @return: processor_t dnbits() if the address doesn't belong to a segment, otherwise the result depends on the segment type",
"func":1
},
{
"ref":"ida_bytes.bytesize",
"url":4,
"doc":"bytesize(ea) -> int Get number of bytes required to store a byte at the given address. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.get_byte",
"url":4,
"doc":"get_byte(ea) -> uchar Get one byte (8-bit) of the program at 'ea'. This function works only for 8bit byte processors. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.get_db_byte",
"url":4,
"doc":"get_db_byte(ea) -> uchar Get one byte (8-bit) of the program at 'ea' from the database. Works even if the debugger is active. See also get_dbg_byte() to read the process memory directly. This function works only for 8bit byte processors. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.get_word",
"url":4,
"doc":"get_word(ea) -> ushort Get one word (16-bit) of the program at 'ea'. This function takes into account order of bytes specified in idainfo is_be() This function works only for 8bit byte processors. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.get_dword",
"url":4,
"doc":"get_dword(ea) -> uint32 Get one dword (32-bit) of the program at 'ea'. This function takes into account order of bytes specified in idainfo is_be() This function works only for 8bit byte processors. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.get_qword",
"url":4,
"doc":"get_qword(ea) -> uint64 Get one qword (64-bit) of the program at 'ea'. This function takes into account order of bytes specified in idainfo is_be() This function works only for 8bit byte processors. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.get_wide_byte",
"url":4,
"doc":"get_wide_byte(ea) -> uint64 Get one wide byte of the program at 'ea'. Some processors may access more than 8bit quantity at an address. These processors have 32-bit byte organization from the IDA's point of view. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.get_wide_word",
"url":4,
"doc":"get_wide_word(ea) -> uint64 Get one wide word (2 'byte') of the program at 'ea'. Some processors may access more than 8bit quantity at an address. These processors have 32-bit byte organization from the IDA's point of view. This function takes into account order of bytes specified in idainfo is_be() @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.get_wide_dword",
"url":4,
"doc":"get_wide_dword(ea) -> uint64 Get two wide words (4 'bytes') of the program at 'ea'. Some processors may access more than 8bit quantity at an address. These processors have 32-bit byte organization from the IDA's point of view. This function takes into account order of bytes specified in idainfo is_be() @note: this function works incorrectly if processor_t nbits > 16 @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.octet_generator_t",
"url":4,
"doc":"Proxy of C octet_generator_t class. __init__(self, _ea) -> octet_generator_t @param _ea: ea_t"
},
{
"ref":"ida_bytes.octet_generator_t.thisown",
"url":4,
"doc":"The membership flag"
},
{
"ref":"ida_bytes.octet_generator_t.value",
"url":4,
"doc":"value"
},
{
"ref":"ida_bytes.octet_generator_t.ea",
"url":4,
"doc":"ea"
},
{
"ref":"ida_bytes.octet_generator_t.avail_bits",
"url":4,
"doc":"avail_bits"
},
{
"ref":"ida_bytes.octet_generator_t.high_byte_first",
"url":4,
"doc":"high_byte_first"
},
{
"ref":"ida_bytes.octet_generator_t.invert_byte_order",
"url":4,
"doc":"invert_byte_order(self)",
"func":1
},
{
"ref":"ida_bytes.get_octet",
"url":4,
"doc":"get_octet(ogen) -> bool @param ogen: octet_generator_t  ",
"func":1
},
{
"ref":"ida_bytes.get_16bit",
"url":4,
"doc":"get_16bit(ea) -> uint32 Get 16bits of the program at 'ea'. @param ea: (C : ea_t) @return: 1 byte (getFullByte( if the current processor has 16-bit byte, otherwise return get_word()",
"func":1
},
{
"ref":"ida_bytes.get_32bit",
"url":4,
"doc":"get_32bit(ea) -> uint32 Get not more than 32bits of the program at 'ea'. @param ea: (C : ea_t) @return: 32 bit value, depending on processor_t nbits:  if ( nbits <= 8 ) return get_dword(ea);  if ( nbits <= 16) return get_wide_word(ea);  return get_wide_byte(ea);",
"func":1
},
{
"ref":"ida_bytes.get_64bit",
"url":4,
"doc":"get_64bit(ea) -> uint64 Get not more than 64bits of the program at 'ea'. @param ea: (C : ea_t) @return: 64 bit value, depending on processor_t nbits:  if ( nbits <= 8 ) return get_qword(ea);  if ( nbits <= 16) return get_wide_dword(ea);  return get_wide_byte(ea);",
"func":1
},
{
"ref":"ida_bytes.get_data_value",
"url":4,
"doc":"get_data_value(v, ea, size) -> bool Get the value at of the item at 'ea'. This function works with entities up to sizeof(ea_t) (bytes, word, etc) @param v: (C : uval_t  ) pointer to the result. may be nullptr @param ea: (C : ea_t) linear address @param size: (C : asize_t) size of data to read. If 0, then the item type at 'ea' will be used @return: success",
"func":1
},
{
"ref":"ida_bytes.get_original_byte",
"url":4,
"doc":"get_original_byte(ea) -> uint64 Get original byte value (that was before patching). This function works for wide byte processors too. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.get_original_word",
"url":4,
"doc":"get_original_word(ea) -> uint64 Get original word value (that was before patching). This function works for wide byte processors too. This function takes into account order of bytes specified in idainfo is_be() @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.get_original_dword",
"url":4,
"doc":"get_original_dword(ea) -> uint64 Get original dword (that was before patching) This function works for wide byte processors too. This function takes into account order of bytes specified in idainfo is_be() @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.get_original_qword",
"url":4,
"doc":"get_original_qword(ea) -> uint64 Get original qword value (that was before patching) This function DOESN'T work for wide byte processors too. This function takes into account order of bytes specified in idainfo is_be() @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.put_byte",
"url":4,
"doc":"put_byte(ea, x) -> bool Set value of one byte of the program. This function modifies the database. If the debugger is active then the debugged process memory is patched too. @note: The original value of the byte is completely lost and can't be recovered by the get_original_byte() function. See also put_dbg_byte() to write to the process memory directly when the debugger is active. This function can handle wide byte processors. @param ea: (C : ea_t) linear address @param x: (C : uint64) byte value @return: true if the database has been modified",
"func":1
},
{
"ref":"ida_bytes.put_word",
"url":4,
"doc":"put_word(ea, x) Set value of one word of the program. This function takes into account order of bytes specified in idainfo is_be() This function works for wide byte processors too. @note: The original value of the word is completely lost and can't be recovered by the get_original_word() function. ea - linear address x - word value @param ea: (C : ea_t) @param x: (C : uint64)",
"func":1
},
{
"ref":"ida_bytes.put_dword",
"url":4,
"doc":"put_dword(ea, x) Set value of one dword of the program. This function takes into account order of bytes specified in idainfo is_be() This function works for wide byte processors too. @param ea: (C : ea_t) linear address @param x: (C : uint64) dword value @note: the original value of the dword is completely lost and can't be recovered by the get_original_dword() function.",
"func":1
},
{
"ref":"ida_bytes.put_qword",
"url":4,
"doc":"put_qword(ea, x) Set value of one qword (8 bytes) of the program. This function takes into account order of bytes specified in idainfo is_be() This function DOESN'T works for wide byte processors. @param ea: (C : ea_t) linear address @param x: (C : uint64) qword value",
"func":1
},
{
"ref":"ida_bytes.patch_byte",
"url":4,
"doc":"patch_byte(ea, x) -> bool Patch a byte of the program. The original value of the byte is saved and can be obtained by get_original_byte(). This function works for wide byte processors too. @retval true: the database has been modified, @retval false: the debugger is running and the process' memory has value 'x' at address 'ea', or the debugger is not running, and the IDB has value 'x' at address 'ea already. @param ea: (C : ea_t) @param x: (C : uint64)",
"func":1
},
{
"ref":"ida_bytes.patch_word",
"url":4,
"doc":"patch_word(ea, x) -> bool Patch a word of the program. The original value of the word is saved and can be obtained by get_original_word(). This function works for wide byte processors too. This function takes into account order of bytes specified in idainfo is_be() @retval true: the database has been modified, @retval false: the debugger is running and the process' memory has value 'x' at address 'ea', or the debugger is not running, and the IDB has value 'x' at address 'ea already. @param ea: (C : ea_t) @param x: (C : uint64)",
"func":1
},
{
"ref":"ida_bytes.patch_dword",
"url":4,
"doc":"patch_dword(ea, x) -> bool Patch a dword of the program. The original value of the dword is saved and can be obtained by get_original_dword(). This function DOESN'T work for wide byte processors. This function takes into account order of bytes specified in idainfo is_be() @retval true: the database has been modified, @retval false: the debugger is running and the process' memory has value 'x' at address 'ea', or the debugger is not running, and the IDB has value 'x' at address 'ea already. @param ea: (C : ea_t) @param x: (C : uint64)",
"func":1
},
{
"ref":"ida_bytes.patch_qword",
"url":4,
"doc":"patch_qword(ea, x) -> bool Patch a qword of the program. The original value of the qword is saved and can be obtained by get_original_qword(). This function DOESN'T work for wide byte processors. This function takes into account order of bytes specified in idainfo is_be() @retval true: the database has been modified, @retval false: the debugger is running and the process' memory has value 'x' at address 'ea', or the debugger is not running, and the IDB has value 'x' at address 'ea already. @param ea: (C : ea_t) @param x: (C : uint64)",
"func":1
},
{
"ref":"ida_bytes.revert_byte",
"url":4,
"doc":"revert_byte(ea) -> bool Revert patched byte @retval true: byte was patched before and reverted now @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.add_byte",
"url":4,
"doc":"add_byte(ea, value) Add a value to one byte of the program. This function works for wide byte processors too. @param ea: (C : ea_t) linear address @param value: (C : uint32) byte value",
"func":1
},
{
"ref":"ida_bytes.add_word",
"url":4,
"doc":"add_word(ea, value) Add a value to one word of the program. This function works for wide byte processors too. This function takes into account order of bytes specified in idainfo is_be() @param ea: (C : ea_t) linear address @param value: (C : uint64) byte value",
"func":1
},
{
"ref":"ida_bytes.add_dword",
"url":4,
"doc":"add_dword(ea, value) Add a value to one dword of the program. This function works for wide byte processors too. This function takes into account order of bytes specified in idainfo is_be() @note: this function works incorrectly if processor_t nbits > 16 @param ea: (C : ea_t) linear address @param value: (C : uint64) byte value",
"func":1
},
{
"ref":"ida_bytes.add_qword",
"url":4,
"doc":"add_qword(ea, value) Add a value to one qword of the program. This function does not work for wide byte processors. This function takes into account order of bytes specified in idainfo is_be() @param ea: (C : ea_t) linear address @param value: (C : uint64) byte value",
"func":1
},
{
"ref":"ida_bytes.get_zero_ranges",
"url":4,
"doc":"get_zero_ranges(zranges, range) -> bool Return set of ranges with zero initialized bytes. The returned set includes only big zero initialized ranges (at least >1KB). Some zero initialized byte ranges may be not included. Only zero bytes that use the sparse storage method (STT_MM) are reported. @param zranges: (C : rangeset_t  ) pointer to the return value. cannot be nullptr @param range: (C : const range_t  ) the range of addresses to verify. can be nullptr - means all ranges @return: true if the result is a non-empty set",
"func":1
},
{
"ref":"ida_bytes.GMB_READALL",
"url":4,
"doc":"try to read all bytes; if this bit is not set, fail at first uninited byte"
},
{
"ref":"ida_bytes.GMB_WAITBOX",
"url":4,
"doc":"show wait box (may return -1 in this case)"
},
{
"ref":"ida_bytes.put_bytes",
"url":4,
"doc":"put_bytes(ea, buf) Modify the specified number of bytes of the program. This function does not save the original values of bytes. See also patch_bytes(). @param ea: (C : ea_t) linear address @param buf: (C : const void  ) buffer with new values of bytes",
"func":1
},
{
"ref":"ida_bytes.patch_bytes",
"url":4,
"doc":"patch_bytes(ea, buf) Patch the specified number of bytes of the program. Original values of bytes are saved and are available with get_original .() functions. See also put_bytes(). @param ea: (C : ea_t) linear address @param buf: (C : const void  ) buffer with new values of bytes",
"func":1
},
{
"ref":"ida_bytes.MS_CLS",
"url":4,
"doc":"Mask for typing."
},
{
"ref":"ida_bytes.FF_CODE",
"url":4,
"doc":"Code ?"
},
{
"ref":"ida_bytes.FF_DATA",
"url":4,
"doc":"Data ?"
},
{
"ref":"ida_bytes.FF_TAIL",
"url":4,
"doc":"Tail ?"
},
{
"ref":"ida_bytes.FF_UNK",
"url":4,
"doc":"Unknown ?"
},
{
"ref":"ida_bytes.is_code",
"url":4,
"doc":"is_code(F) -> bool Does flag denote start of an instruction? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.f_is_code",
"url":4,
"doc":"f_is_code(F, arg2) -> bool Does flag denote start of an instruction? @param F: (C : flags64_t) @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.is_data",
"url":4,
"doc":"is_data(F) -> bool Does flag denote start of data? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.f_is_data",
"url":4,
"doc":"f_is_data(F, arg2) -> bool Does flag denote start of data? @param F: (C : flags64_t) @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.is_tail",
"url":4,
"doc":"is_tail(F) -> bool Does flag denote tail byte? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.f_is_tail",
"url":4,
"doc":"f_is_tail(F, arg2) -> bool Does flag denote tail byte? @param F: (C : flags64_t) @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.is_not_tail",
"url":4,
"doc":"is_not_tail(F) -> bool Does flag denote tail byte? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.f_is_not_tail",
"url":4,
"doc":"f_is_not_tail(F, arg2) -> bool Does flag denote tail byte? @param F: (C : flags64_t) @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.is_unknown",
"url":4,
"doc":"is_unknown(F) -> bool Does flag denote unexplored byte? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_head",
"url":4,
"doc":"is_head(F) -> bool Does flag denote start of instruction OR data? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.f_is_head",
"url":4,
"doc":"f_is_head(F, arg2) -> bool Does flag denote start of instruction OR data? @param F: (C : flags64_t) @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.del_items",
"url":4,
"doc":"del_items(ea, flags=0, nbytes=1, may_destroy=None) -> bool Convert item (instruction/data) to unexplored bytes. The whole item (including the head and tail bytes) will be destroyed. It is allowed to pass any address in the item to this function @param ea: (C : ea_t) any address within the first item to delete @param flags: (C : int) combination of Unexplored byte conversion flags @param nbytes: (C : asize_t) number of bytes in the range to be undefined @param may_destroy: (C : may_destroy_cb_t  ) optional routine invoked before deleting a head item. If callback returns false then item is not to be deleted and operation fails @return: true on sucessful operation, otherwise false",
"func":1
},
{
"ref":"ida_bytes.DELIT_SIMPLE",
"url":4,
"doc":"simply undefine the specified item(s)"
},
{
"ref":"ida_bytes.DELIT_EXPAND",
"url":4,
"doc":"propagate undefined items; for example if removing an instruction removes all references to the next instruction, then plan to convert to unexplored the next instruction too."
},
{
"ref":"ida_bytes.DELIT_DELNAMES",
"url":4,
"doc":"delete any names at the specified address range (except for the starting address). this bit is valid if nbytes > 1"
},
{
"ref":"ida_bytes.DELIT_NOTRUNC",
"url":4,
"doc":"don't truncate the current function even if AF_TRFUNC is set"
},
{
"ref":"ida_bytes.DELIT_NOUNAME",
"url":4,
"doc":"reject to delete if a user name is in address range (except for the starting address). this bit is valid if nbytes > 1"
},
{
"ref":"ida_bytes.DELIT_NOCMT",
"url":4,
"doc":"reject to delete if a comment is in address range (except for the starting address). this bit is valid if nbytes > 1"
},
{
"ref":"ida_bytes.DELIT_KEEPFUNC",
"url":4,
"doc":"do not undefine the function start. Just delete xrefs, ops e.t.c."
},
{
"ref":"ida_bytes.is_manual_insn",
"url":4,
"doc":"is_manual_insn(ea) -> bool Is the instruction overridden? @param ea: (C : ea_t) linear address of the instruction or data item",
"func":1
},
{
"ref":"ida_bytes.get_manual_insn",
"url":4,
"doc":"get_manual_insn(ea) -> str Retrieve the user-specified string for the manual instruction. @param ea: (C : ea_t) linear address of the instruction or data item @return: size of manual instruction or -1",
"func":1
},
{
"ref":"ida_bytes.set_manual_insn",
"url":4,
"doc":"set_manual_insn(ea, manual_insn) Set manual instruction string. @param ea: (C : ea_t) linear address of the instruction or data item @param manual_insn: (C : const char  )  - delete manual string. nullptr - do nothing",
"func":1
},
{
"ref":"ida_bytes.MS_COMM",
"url":4,
"doc":"Mask of common bits."
},
{
"ref":"ida_bytes.FF_COMM",
"url":4,
"doc":"Has comment ?"
},
{
"ref":"ida_bytes.FF_REF",
"url":4,
"doc":"has references"
},
{
"ref":"ida_bytes.FF_LINE",
"url":4,
"doc":"Has next or prev lines ?"
},
{
"ref":"ida_bytes.FF_NAME",
"url":4,
"doc":"Has name ?"
},
{
"ref":"ida_bytes.FF_LABL",
"url":4,
"doc":"Has dummy name?"
},
{
"ref":"ida_bytes.FF_FLOW",
"url":4,
"doc":"Exec flow from prev instruction."
},
{
"ref":"ida_bytes.FF_SIGN",
"url":4,
"doc":"Inverted sign of operands."
},
{
"ref":"ida_bytes.FF_BNOT",
"url":4,
"doc":"Bitwise negation of operands."
},
{
"ref":"ida_bytes.FF_UNUSED",
"url":4,
"doc":"unused bit (was used for variable bytes)"
},
{
"ref":"ida_bytes.is_flow",
"url":4,
"doc":"is_flow(F) -> bool Does the previous instruction exist and pass execution flow to the current byte? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.has_extra_cmts",
"url":4,
"doc":"has_extra_cmts(F) -> bool Does the current byte have additional anterior or posterior lines? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.f_has_extra_cmts",
"url":4,
"doc":"f_has_extra_cmts(f, arg2) -> bool @param f: flags64_t @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.has_cmt",
"url":4,
"doc":"has_cmt(F) -> bool Does the current byte have an indented comment? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.f_has_cmt",
"url":4,
"doc":"f_has_cmt(f, arg2) -> bool @param f: flags64_t @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.has_xref",
"url":4,
"doc":"has_xref(F) -> bool Does the current byte have cross-references to it? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.f_has_xref",
"url":4,
"doc":"f_has_xref(f, arg2) -> bool Does the current byte have cross-references to it? @param f: (C : flags64_t) @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.has_name",
"url":4,
"doc":"has_name(F) -> bool Does the current byte have non-trivial (non-dummy) name? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.f_has_name",
"url":4,
"doc":"f_has_name(f, arg2) -> bool Does the current byte have non-trivial (non-dummy) name? @param f: (C : flags64_t) @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.FF_ANYNAME",
"url":4,
"doc":"Has name or dummy name?"
},
{
"ref":"ida_bytes.has_dummy_name",
"url":4,
"doc":"has_dummy_name(F) -> bool Does the current byte have dummy (auto-generated, with special prefix) name? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.f_has_dummy_name",
"url":4,
"doc":"f_has_dummy_name(f, arg2) -> bool Does the current byte have dummy (auto-generated, with special prefix) name? @param f: (C : flags64_t) @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.has_auto_name",
"url":4,
"doc":"has_auto_name(F) -> bool Does the current byte have auto-generated (no special prefix) name? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.has_any_name",
"url":4,
"doc":"has_any_name(F) -> bool Does the current byte have any name? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.has_user_name",
"url":4,
"doc":"has_user_name(F) -> bool Does the current byte have user-specified name? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.f_has_user_name",
"url":4,
"doc":"f_has_user_name(F, arg2) -> bool Does the current byte have user-specified name? @param F: (C : flags64_t) @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.is_invsign",
"url":4,
"doc":"is_invsign(ea, F, n) -> bool Should sign of n-th operand inverted during output?. allowed values of n: 0-first operand, 1-other operands @param ea: (C : ea_t) @param F: (C : flags64_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.toggle_sign",
"url":4,
"doc":"toggle_sign(ea, n) -> bool Toggle sign of n-th operand. allowed values of n: 0-first operand, 1-other operands @param ea: (C : ea_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.is_bnot",
"url":4,
"doc":"is_bnot(ea, F, n) -> bool Should we negate the operand?. asm_t a_bnot should be defined in the idp module in order to work with this function @param ea: (C : ea_t) @param F: (C : flags64_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.toggle_bnot",
"url":4,
"doc":"toggle_bnot(ea, n) -> bool Toggle binary negation of operand. also see is_bnot() @param ea: (C : ea_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.is_lzero",
"url":4,
"doc":"is_lzero(ea, n) -> bool Display leading zeroes? Display leading zeroes in operands. The global switch for the leading zeroes is in idainfo s_genflags Note: the leading zeroes doesn't work if for the target assembler octal numbers start with 0. @param ea: (C : ea_t) the item (insn/data) address @param n: (C : int) the operand number (0-first operand, 1-other operands) @return: success",
"func":1
},
{
"ref":"ida_bytes.set_lzero",
"url":4,
"doc":"set_lzero(ea, n) -> bool Set toggle lzero bit. This function changes the display of leading zeroes for the specified operand. If the default is not to display leading zeroes, this function will display them and vice versa. @param ea: (C : ea_t) the item (insn/data) address @param n: (C : int) the operand number (0-first operand, 1-other operands) @return: success",
"func":1
},
{
"ref":"ida_bytes.clr_lzero",
"url":4,
"doc":"clr_lzero(ea, n) -> bool Clear toggle lzero bit. This function reset the display of leading zeroes for the specified operand to the default. If the default is not to display leading zeroes, leading zeroes will not be displayed, as vice versa. @param ea: (C : ea_t) the item (insn/data) address @param n: (C : int) the operand number (0-first operand, 1-other operands) @return: success",
"func":1
},
{
"ref":"ida_bytes.toggle_lzero",
"url":4,
"doc":"toggle_lzero(ea, n) -> bool Toggle lzero bit. @param ea: (C : ea_t) the item (insn/data) address @param n: (C : int) the operand number (0-first operand, 1-other operands) @return: success",
"func":1
},
{
"ref":"ida_bytes.leading_zero_important",
"url":4,
"doc":"leading_zero_important(ea, n) -> bool Check if leading zeroes are important. @param ea: (C : ea_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.MS_N_TYPE",
"url":4,
"doc":"Mask for nth arg (a 64-bit constant)"
},
{
"ref":"ida_bytes.FF_N_VOID",
"url":4,
"doc":"Void (unknown)?"
},
{
"ref":"ida_bytes.FF_N_NUMH",
"url":4,
"doc":"Hexadecimal number?"
},
{
"ref":"ida_bytes.FF_N_NUMD",
"url":4,
"doc":"Decimal number?"
},
{
"ref":"ida_bytes.FF_N_CHAR",
"url":4,
"doc":"Char ('x')?"
},
{
"ref":"ida_bytes.FF_N_SEG",
"url":4,
"doc":"Segment?"
},
{
"ref":"ida_bytes.FF_N_OFF",
"url":4,
"doc":"Offset?"
},
{
"ref":"ida_bytes.FF_N_NUMB",
"url":4,
"doc":"Binary number?"
},
{
"ref":"ida_bytes.FF_N_NUMO",
"url":4,
"doc":"Octal number?"
},
{
"ref":"ida_bytes.FF_N_ENUM",
"url":4,
"doc":"Enumeration?"
},
{
"ref":"ida_bytes.FF_N_FOP",
"url":4,
"doc":"Forced operand?"
},
{
"ref":"ida_bytes.FF_N_STRO",
"url":4,
"doc":"Struct offset?"
},
{
"ref":"ida_bytes.FF_N_STK",
"url":4,
"doc":"Stack variable?"
},
{
"ref":"ida_bytes.FF_N_FLT",
"url":4,
"doc":"Floating point number?"
},
{
"ref":"ida_bytes.FF_N_CUST",
"url":4,
"doc":"Custom representation?"
},
{
"ref":"ida_bytes.get_operand_type_shift",
"url":4,
"doc":"get_operand_type_shift(n) -> int Get the shift in  flags64_t for the nibble representing operand  n 's type Note: n must be < UA_MAXOP, and is not checked @param n: (C : uint32) the operand number @return: the shift to the nibble",
"func":1
},
{
"ref":"ida_bytes.get_operand_flag",
"url":4,
"doc":"get_operand_flag(typebits, n) -> flags64_t Place operand  n 's type flag in the right nibble of a 64-bit flags set. @param typebits: (C : uint8) the type bits (one of  FF_N_ ) @param n: (C : int) the operand number @return: the shift to the nibble",
"func":1
},
{
"ref":"ida_bytes.is_flag_for_operand",
"url":4,
"doc":"is_flag_for_operand(F, typebits, n) -> bool Check that the 64-bit flags set has the expected type for operand  n . @param F: (C : flags64_t) the flags @param typebits: (C : uint8) the type bits (one of  FF_N_ ) @param n: (C : int) the operand number @return: success",
"func":1
},
{
"ref":"ida_bytes.is_defarg0",
"url":4,
"doc":"is_defarg0(F) -> bool Is the first operand defined? Initially operand has no defined representation. @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_defarg1",
"url":4,
"doc":"is_defarg1(F) -> bool Is the second operand defined? Initially operand has no defined representation. @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_off0",
"url":4,
"doc":"is_off0(F) -> bool Is the first operand offset? (example: push offset xxx) @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_off1",
"url":4,
"doc":"is_off1(F) -> bool Is the second operand offset? (example: mov ax, offset xxx) @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_char0",
"url":4,
"doc":"is_char0(F) -> bool Is the first operand character constant? (example: push 'a') @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_char1",
"url":4,
"doc":"is_char1(F) -> bool Is the second operand character constant? (example: mov al, 'a') @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_seg0",
"url":4,
"doc":"is_seg0(F) -> bool Is the first operand segment selector? (example: push seg seg001) @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_seg1",
"url":4,
"doc":"is_seg1(F) -> bool Is the second operand segment selector? (example: mov dx, seg dseg) @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_enum0",
"url":4,
"doc":"is_enum0(F) -> bool Is the first operand a symbolic constant (enum member)? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_enum1",
"url":4,
"doc":"is_enum1(F) -> bool Is the second operand a symbolic constant (enum member)? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_stroff0",
"url":4,
"doc":"is_stroff0(F) -> bool Is the first operand an offset within a struct? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_stroff1",
"url":4,
"doc":"is_stroff1(F) -> bool Is the second operand an offset within a struct? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_stkvar0",
"url":4,
"doc":"is_stkvar0(F) -> bool Is the first operand a stack variable? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_stkvar1",
"url":4,
"doc":"is_stkvar1(F) -> bool Is the second operand a stack variable? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_float0",
"url":4,
"doc":"is_float0(F) -> bool Is the first operand a floating point number? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_float1",
"url":4,
"doc":"is_float1(F) -> bool Is the second operand a floating point number? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_custfmt0",
"url":4,
"doc":"is_custfmt0(F) -> bool Does the first operand use a custom data representation? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_custfmt1",
"url":4,
"doc":"is_custfmt1(F) -> bool Does the second operand use a custom data representation? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_numop0",
"url":4,
"doc":"is_numop0(F) -> bool Is the first operand a number (i.e. binary, octal, decimal or hex?) @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_numop1",
"url":4,
"doc":"is_numop1(F) -> bool Is the second operand a number (i.e. binary, octal, decimal or hex?) @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.get_optype_flags0",
"url":4,
"doc":"get_optype_flags0(F) -> flags64_t Get flags for first operand. @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.get_optype_flags1",
"url":4,
"doc":"get_optype_flags1(F) -> flags64_t Get flags for second operand. @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.OPND_OUTER",
"url":4,
"doc":"outer offset base (combined with operand number). used only in set, get, del_offset() functions"
},
{
"ref":"ida_bytes.OPND_MASK",
"url":4,
"doc":"mask for operand number"
},
{
"ref":"ida_bytes.OPND_ALL",
"url":4,
"doc":"all operands"
},
{
"ref":"ida_bytes.is_defarg",
"url":4,
"doc":"is_defarg(F, n) -> bool is defined? @param F: (C : flags64_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.is_off",
"url":4,
"doc":"is_off(F, n) -> bool is offset? @param F: (C : flags64_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.is_char",
"url":4,
"doc":"is_char(F, n) -> bool is character constant? @param F: (C : flags64_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.is_seg",
"url":4,
"doc":"is_seg(F, n) -> bool is segment? @param F: (C : flags64_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.is_enum",
"url":4,
"doc":"is_enum(F, n) -> bool is enum? @param F: (C : flags64_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.is_manual",
"url":4,
"doc":"is_manual(F, n) -> bool is forced operand? (use is_forced_operand( @param F: (C : flags64_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.is_stroff",
"url":4,
"doc":"is_stroff(F, n) -> bool is struct offset? @param F: (C : flags64_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.is_stkvar",
"url":4,
"doc":"is_stkvar(F, n) -> bool is stack variable? @param F: (C : flags64_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.is_fltnum",
"url":4,
"doc":"is_fltnum(F, n) -> bool is floating point number? @param F: (C : flags64_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.is_custfmt",
"url":4,
"doc":"is_custfmt(F, n) -> bool is custom data format? @param F: (C : flags64_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.is_numop",
"url":4,
"doc":"is_numop(F, n) -> bool is number (bin, oct, dec, hex)? @param F: (C : flags64_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.is_suspop",
"url":4,
"doc":"is_suspop(ea, F, n) -> bool is suspicious operand? @param ea: (C : ea_t) @param F: (C : flags64_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.op_adds_xrefs",
"url":4,
"doc":"op_adds_xrefs(F, n) -> bool Should processor module create xrefs from the operand?. Currently 'offset' and 'structure offset' operands create xrefs @param F: (C : flags64_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.set_op_type",
"url":4,
"doc":"set_op_type(ea, type, n) -> bool (internal function) change representation of operand(s). @param ea: (C : ea_t) linear address @param type: (C : flags64_t) new flag value (should be obtained from char_flag(), num_flag() and similar functions) @param n: (C : int) 0 UA_MAXOP-1 operand number, OPND_ALL all operands @retval 1: ok @retval 0: failed (applied to a tail byte)",
"func":1
},
{
"ref":"ida_bytes.op_seg",
"url":4,
"doc":"op_seg(ea, n) -> bool Set operand representation to be 'segment'. If applied to unexplored bytes, converts them to 16/32bit word data @param ea: (C : ea_t) linear address @param n: (C : int) 0 UA_MAXOP-1 operand number, OPND_ALL all operands @return: success",
"func":1
},
{
"ref":"ida_bytes.op_enum",
"url":4,
"doc":"op_enum(ea, n, id, serial=0) -> bool Set operand representation to be enum type If applied to unexplored bytes, converts them to 16/32bit word data @param ea: (C : ea_t) linear address @param n: (C : int) 0 UA_MAXOP-1 operand number, OPND_ALL all operands @param id: (C : tid_t) id of enum @param serial: (C : uchar) the serial number of the constant in the enumeration, usually 0. the serial numbers are used if the enumeration contains several constants with the same value @return: success",
"func":1
},
{
"ref":"ida_bytes.get_enum_id",
"url":4,
"doc":"get_enum_id(ea, n) -> tid_t Get enum id of 'enum' operand. @param ea: (C : ea_t) linear address @param n: (C : int) 0 UA_MAXOP-1 operand number, OPND_ALL one of the operands @return: id of enum or BADNODE",
"func":1
},
{
"ref":"ida_bytes.op_based_stroff",
"url":4,
"doc":"op_based_stroff(insn, n, opval, base) -> bool Set operand representation to be 'struct offset' if the operand likely points to a structure member. For example, let's there is a structure at 1000 1000 stru_1000 Elf32_Sym  the operand  8 will be represented as ' Elf32_Sym.st_size' after the call of 'op_based_stroff( ., 8, 0x1000)' By the way, after the call of 'op_plain_offset( ., 0x1000)' it will be represented as ' (stru_1000.st_size - 0x1000)' @param insn: (C : const insn_t &) the instruction @param n: (C : int) 0 UA_MAXOP-1 operand number, OPND_ALL all operands @param opval: (C : adiff_t) operand value (usually op_t value or op_t addr) @param base: (C : ea_t) base reference @return: success",
"func":1
},
{
"ref":"ida_bytes.get_stroff_path",
"url":4,
"doc":"get_stroff_path(path, delta, ea, n) -> int Get struct path of operand. @param path: (C : tid_t  ) buffer for structure path (strpath). see nalt.hpp for more info. @param delta: (C : adiff_t  ) struct offset delta @param ea: (C : ea_t) linear address @param n: (C : int) 0 UA_MAXOP-1 operand number, OPND_ALL one of the operands @return: length of strpath",
"func":1
},
{
"ref":"ida_bytes.op_stkvar",
"url":4,
"doc":"op_stkvar(ea, n) -> bool Set operand representation to be 'stack variable'. Should be applied to an instruction within a function. Should be applied after creating a stack var using insn_t create_stkvar(). @param ea: (C : ea_t) linear address @param n: (C : int) 0 UA_MAXOP-1 operand number, OPND_ALL all operands @return: success",
"func":1
},
{
"ref":"ida_bytes.set_forced_operand",
"url":4,
"doc":"set_forced_operand(ea, n, op) -> bool Set forced operand. @param ea: (C : ea_t) linear address @param n: (C : int) 0 UA_MAXOP-1 operand number @param op: (C : const char  ) text of operand  nullptr: do nothing (return 0)   : delete forced operand @return: success",
"func":1
},
{
"ref":"ida_bytes.get_forced_operand",
"url":4,
"doc":"get_forced_operand(ea, n) -> str Get forced operand. @param ea: (C : ea_t) linear address @param n: (C : int) 0 UA_MAXOP-1 operand number @return: size of forced operand or -1",
"func":1
},
{
"ref":"ida_bytes.is_forced_operand",
"url":4,
"doc":"is_forced_operand(ea, n) -> bool Is operand manually defined?. @param ea: (C : ea_t) linear address @param n: (C : int) 0 UA_MAXOP-1 operand number",
"func":1
},
{
"ref":"ida_bytes.combine_flags",
"url":4,
"doc":"combine_flags(F) -> flags64_t @param F: flags64_t",
"func":1
},
{
"ref":"ida_bytes.char_flag",
"url":4,
"doc":"char_flag() -> flags64_t see FF_opbits",
"func":1
},
{
"ref":"ida_bytes.off_flag",
"url":4,
"doc":"off_flag() -> flags64_t see FF_opbits",
"func":1
},
{
"ref":"ida_bytes.enum_flag",
"url":4,
"doc":"enum_flag() -> flags64_t see FF_opbits",
"func":1
},
{
"ref":"ida_bytes.stroff_flag",
"url":4,
"doc":"stroff_flag() -> flags64_t see FF_opbits",
"func":1
},
{
"ref":"ida_bytes.stkvar_flag",
"url":4,
"doc":"stkvar_flag() -> flags64_t see FF_opbits",
"func":1
},
{
"ref":"ida_bytes.flt_flag",
"url":4,
"doc":"flt_flag() -> flags64_t see FF_opbits",
"func":1
},
{
"ref":"ida_bytes.custfmt_flag",
"url":4,
"doc":"custfmt_flag() -> flags64_t see FF_opbits",
"func":1
},
{
"ref":"ida_bytes.seg_flag",
"url":4,
"doc":"seg_flag() -> flags64_t see FF_opbits",
"func":1
},
{
"ref":"ida_bytes.num_flag",
"url":4,
"doc":"num_flag() -> flags64_t Get number of default base (bin, oct, dec, hex)",
"func":1
},
{
"ref":"ida_bytes.hex_flag",
"url":4,
"doc":"hex_flag() -> flags64_t Get number flag of the base, regardless of current processor - better to use num_flag()",
"func":1
},
{
"ref":"ida_bytes.dec_flag",
"url":4,
"doc":"dec_flag() -> flags64_t Get number flag of the base, regardless of current processor - better to use num_flag()",
"func":1
},
{
"ref":"ida_bytes.oct_flag",
"url":4,
"doc":"oct_flag() -> flags64_t Get number flag of the base, regardless of current processor - better to use num_flag()",
"func":1
},
{
"ref":"ida_bytes.bin_flag",
"url":4,
"doc":"bin_flag() -> flags64_t Get number flag of the base, regardless of current processor - better to use num_flag()",
"func":1
},
{
"ref":"ida_bytes.op_chr",
"url":4,
"doc":"op_chr(ea, n) -> bool set op type to char_flag() @param ea: (C : ea_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.op_num",
"url":4,
"doc":"op_num(ea, n) -> bool set op type to num_flag() @param ea: (C : ea_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.op_hex",
"url":4,
"doc":"op_hex(ea, n) -> bool set op type to hex_flag() @param ea: (C : ea_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.op_dec",
"url":4,
"doc":"op_dec(ea, n) -> bool set op type to dec_flag() @param ea: (C : ea_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.op_oct",
"url":4,
"doc":"op_oct(ea, n) -> bool set op type to oct_flag() @param ea: (C : ea_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.op_bin",
"url":4,
"doc":"op_bin(ea, n) -> bool set op type to bin_flag() @param ea: (C : ea_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.op_flt",
"url":4,
"doc":"op_flt(ea, n) -> bool set op type to flt_flag() @param ea: (C : ea_t) @param n: (C : int)",
"func":1
},
{
"ref":"ida_bytes.op_custfmt",
"url":4,
"doc":"op_custfmt(ea, n, fid) -> bool Set custom data format for operand (fid-custom data format id) @param ea: (C : ea_t) @param n: (C : int) @param fid: (C : int)",
"func":1
},
{
"ref":"ida_bytes.clr_op_type",
"url":4,
"doc":"clr_op_type(ea, n) -> bool Remove operand representation information. (set operand representation to be 'undefined') @param ea: (C : ea_t) linear address @param n: (C : int) 0 UA_MAXOP-1 operand number, OPND_ALL all operands @return: success",
"func":1
},
{
"ref":"ida_bytes.get_default_radix",
"url":4,
"doc":"get_default_radix() -> int Get default base of number for the current processor. @return: 2, 8, 10, 16",
"func":1
},
{
"ref":"ida_bytes.get_radix",
"url":4,
"doc":"get_radix(F, n) -> int Get radix of the operand, in: flags. If the operand is not a number, returns get_default_radix() @param F: (C : flags64_t) flags @param n: (C : int) number of operand (0, 1, -1) @return: 2, 8, 10, 16",
"func":1
},
{
"ref":"ida_bytes.DT_TYPE",
"url":4,
"doc":"Mask for DATA typing."
},
{
"ref":"ida_bytes.FF_BYTE",
"url":4,
"doc":"byte"
},
{
"ref":"ida_bytes.FF_WORD",
"url":4,
"doc":"word"
},
{
"ref":"ida_bytes.FF_DWORD",
"url":4,
"doc":"double word"
},
{
"ref":"ida_bytes.FF_QWORD",
"url":4,
"doc":"quadro word"
},
{
"ref":"ida_bytes.FF_TBYTE",
"url":4,
"doc":"tbyte"
},
{
"ref":"ida_bytes.FF_STRLIT",
"url":4,
"doc":"string literal"
},
{
"ref":"ida_bytes.FF_STRUCT",
"url":4,
"doc":"struct variable"
},
{
"ref":"ida_bytes.FF_OWORD",
"url":4,
"doc":"octaword/xmm word (16 bytes/128 bits)"
},
{
"ref":"ida_bytes.FF_FLOAT",
"url":4,
"doc":"float"
},
{
"ref":"ida_bytes.FF_DOUBLE",
"url":4,
"doc":"double"
},
{
"ref":"ida_bytes.FF_PACKREAL",
"url":4,
"doc":"packed decimal real"
},
{
"ref":"ida_bytes.FF_ALIGN",
"url":4,
"doc":"alignment directive"
},
{
"ref":"ida_bytes.FF_CUSTOM",
"url":4,
"doc":"custom data type"
},
{
"ref":"ida_bytes.FF_YWORD",
"url":4,
"doc":"ymm word (32 bytes/256 bits)"
},
{
"ref":"ida_bytes.FF_ZWORD",
"url":4,
"doc":"zmm word (64 bytes/512 bits)"
},
{
"ref":"ida_bytes.code_flag",
"url":4,
"doc":"code_flag() -> flags64_t FF_CODE",
"func":1
},
{
"ref":"ida_bytes.byte_flag",
"url":4,
"doc":"byte_flag() -> flags64_t Get a flags64_t representing a byte.",
"func":1
},
{
"ref":"ida_bytes.word_flag",
"url":4,
"doc":"word_flag() -> flags64_t Get a flags64_t representing a word.",
"func":1
},
{
"ref":"ida_bytes.dword_flag",
"url":4,
"doc":"dword_flag() -> flags64_t Get a flags64_t representing a double word.",
"func":1
},
{
"ref":"ida_bytes.qword_flag",
"url":4,
"doc":"qword_flag() -> flags64_t Get a flags64_t representing a quad word.",
"func":1
},
{
"ref":"ida_bytes.oword_flag",
"url":4,
"doc":"oword_flag() -> flags64_t Get a flags64_t representing a octaword.",
"func":1
},
{
"ref":"ida_bytes.yword_flag",
"url":4,
"doc":"yword_flag() -> flags64_t Get a flags64_t representing a ymm word.",
"func":1
},
{
"ref":"ida_bytes.zword_flag",
"url":4,
"doc":"zword_flag() -> flags64_t Get a flags64_t representing a zmm word.",
"func":1
},
{
"ref":"ida_bytes.tbyte_flag",
"url":4,
"doc":"tbyte_flag() -> flags64_t Get a flags64_t representing a tbyte.",
"func":1
},
{
"ref":"ida_bytes.strlit_flag",
"url":4,
"doc":"strlit_flag() -> flags64_t Get a flags64_t representing a string literal.",
"func":1
},
{
"ref":"ida_bytes.stru_flag",
"url":4,
"doc":"stru_flag() -> flags64_t Get a flags64_t representing a struct.",
"func":1
},
{
"ref":"ida_bytes.cust_flag",
"url":4,
"doc":"cust_flag() -> flags64_t Get a flags64_t representing custom type data.",
"func":1
},
{
"ref":"ida_bytes.align_flag",
"url":4,
"doc":"align_flag() -> flags64_t Get a flags64_t representing an alignment directive.",
"func":1
},
{
"ref":"ida_bytes.float_flag",
"url":4,
"doc":"float_flag() -> flags64_t Get a flags64_t representing a float.",
"func":1
},
{
"ref":"ida_bytes.double_flag",
"url":4,
"doc":"double_flag() -> flags64_t Get a flags64_t representing a double.",
"func":1
},
{
"ref":"ida_bytes.packreal_flag",
"url":4,
"doc":"packreal_flag() -> flags64_t Get a flags64_t representing a packed decimal real.",
"func":1
},
{
"ref":"ida_bytes.is_byte",
"url":4,
"doc":"is_byte(F) -> bool FF_BYTE @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_word",
"url":4,
"doc":"is_word(F) -> bool FF_WORD @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_dword",
"url":4,
"doc":"is_dword(F) -> bool FF_DWORD @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_qword",
"url":4,
"doc":"is_qword(F) -> bool FF_QWORD @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_oword",
"url":4,
"doc":"is_oword(F) -> bool FF_OWORD @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_yword",
"url":4,
"doc":"is_yword(F) -> bool FF_YWORD @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_zword",
"url":4,
"doc":"is_zword(F) -> bool FF_ZWORD @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_tbyte",
"url":4,
"doc":"is_tbyte(F) -> bool FF_TBYTE @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_float",
"url":4,
"doc":"is_float(F) -> bool FF_FLOAT @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_double",
"url":4,
"doc":"is_double(F) -> bool FF_DOUBLE @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_pack_real",
"url":4,
"doc":"is_pack_real(F) -> bool FF_PACKREAL @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_strlit",
"url":4,
"doc":"is_strlit(F) -> bool FF_STRLIT @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_struct",
"url":4,
"doc":"is_struct(F) -> bool FF_STRUCT @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_align",
"url":4,
"doc":"is_align(F) -> bool FF_ALIGN @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_custom",
"url":4,
"doc":"is_custom(F) -> bool FF_CUSTOM @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.f_is_byte",
"url":4,
"doc":"f_is_byte(F, arg2) -> bool See is_byte() @param F: (C : flags64_t) @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.f_is_word",
"url":4,
"doc":"f_is_word(F, arg2) -> bool See is_word() @param F: (C : flags64_t) @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.f_is_dword",
"url":4,
"doc":"f_is_dword(F, arg2) -> bool See is_dword() @param F: (C : flags64_t) @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.f_is_qword",
"url":4,
"doc":"f_is_qword(F, arg2) -> bool See is_qword() @param F: (C : flags64_t) @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.f_is_oword",
"url":4,
"doc":"f_is_oword(F, arg2) -> bool See is_oword() @param F: (C : flags64_t) @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.f_is_yword",
"url":4,
"doc":"f_is_yword(F, arg2) -> bool See is_yword() @param F: (C : flags64_t) @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.f_is_tbyte",
"url":4,
"doc":"f_is_tbyte(F, arg2) -> bool See is_tbyte() @param F: (C : flags64_t) @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.f_is_float",
"url":4,
"doc":"f_is_float(F, arg2) -> bool See is_float() @param F: (C : flags64_t) @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.f_is_double",
"url":4,
"doc":"f_is_double(F, arg2) -> bool See is_double() @param F: (C : flags64_t) @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.f_is_pack_real",
"url":4,
"doc":"f_is_pack_real(F, arg2) -> bool See is_pack_real() @param F: (C : flags64_t) @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.f_is_strlit",
"url":4,
"doc":"f_is_strlit(F, arg2) -> bool See is_strlit() @param F: (C : flags64_t) @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.f_is_struct",
"url":4,
"doc":"f_is_struct(F, arg2) -> bool See is_struct() @param F: (C : flags64_t) @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.f_is_align",
"url":4,
"doc":"f_is_align(F, arg2) -> bool See is_align() @param F: (C : flags64_t) @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.f_is_custom",
"url":4,
"doc":"f_is_custom(F, arg2) -> bool See is_custom() @param F: (C : flags64_t) @param arg2: void  ",
"func":1
},
{
"ref":"ida_bytes.is_same_data_type",
"url":4,
"doc":"is_same_data_type(F1, F2) -> bool Do the given flags specify the same data type? @param F1: (C : flags64_t) @param F2: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.get_flags_by_size",
"url":4,
"doc":"get_flags_by_size(size) -> flags64_t Get flags from size (in bytes). Supported sizes: 1, 2, 4, 8, 16, 32. For other sizes returns 0 @param size: (C : size_t)",
"func":1
},
{
"ref":"ida_bytes.create_data",
"url":4,
"doc":"create_data(ea, dataflag, size, tid) -> bool Convert to data (byte, word, dword, etc). This function may be used to create arrays. @param ea: (C : ea_t) linear address @param dataflag: (C : flags64_t) type of data. Value of function byte_flag(), word_flag(), etc. @param size: (C : asize_t) size of array in bytes. should be divisible by the size of one item of the specified type. for variable sized items it can be specified as 0, and the kernel will try to calculate the size. @param tid: (C : tid_t) type id. If the specified type is a structure, then tid is structure id. Otherwise should be BADNODE. @return: success",
"func":1
},
{
"ref":"ida_bytes.calc_dflags",
"url":4,
"doc":"calc_dflags(f, force) -> flags64_t @param f: flags64_t @param force: bool",
"func":1
},
{
"ref":"ida_bytes.create_byte",
"url":4,
"doc":"create_byte(ea, length, force=False) -> bool Convert to byte. @param ea: (C : ea_t) @param length: (C : asize_t) @param force: (C : bool)",
"func":1
},
{
"ref":"ida_bytes.create_word",
"url":4,
"doc":"create_word(ea, length, force=False) -> bool Convert to word. @param ea: (C : ea_t) @param length: (C : asize_t) @param force: (C : bool)",
"func":1
},
{
"ref":"ida_bytes.create_dword",
"url":4,
"doc":"create_dword(ea, length, force=False) -> bool Convert to dword. @param ea: (C : ea_t) @param length: (C : asize_t) @param force: (C : bool)",
"func":1
},
{
"ref":"ida_bytes.create_qword",
"url":4,
"doc":"create_qword(ea, length, force=False) -> bool Convert to quadword. @param ea: (C : ea_t) @param length: (C : asize_t) @param force: (C : bool)",
"func":1
},
{
"ref":"ida_bytes.create_oword",
"url":4,
"doc":"create_oword(ea, length, force=False) -> bool Convert to octaword/xmm word. @param ea: (C : ea_t) @param length: (C : asize_t) @param force: (C : bool)",
"func":1
},
{
"ref":"ida_bytes.create_yword",
"url":4,
"doc":"create_yword(ea, length, force=False) -> bool Convert to ymm word. @param ea: (C : ea_t) @param length: (C : asize_t) @param force: (C : bool)",
"func":1
},
{
"ref":"ida_bytes.create_zword",
"url":4,
"doc":"create_zword(ea, length, force=False) -> bool Convert to zmm word. @param ea: (C : ea_t) @param length: (C : asize_t) @param force: (C : bool)",
"func":1
},
{
"ref":"ida_bytes.create_tbyte",
"url":4,
"doc":"create_tbyte(ea, length, force=False) -> bool Convert to tbyte. @param ea: (C : ea_t) @param length: (C : asize_t) @param force: (C : bool)",
"func":1
},
{
"ref":"ida_bytes.create_float",
"url":4,
"doc":"create_float(ea, length, force=False) -> bool Convert to float. @param ea: (C : ea_t) @param length: (C : asize_t) @param force: (C : bool)",
"func":1
},
{
"ref":"ida_bytes.create_double",
"url":4,
"doc":"create_double(ea, length, force=False) -> bool Convert to double. @param ea: (C : ea_t) @param length: (C : asize_t) @param force: (C : bool)",
"func":1
},
{
"ref":"ida_bytes.create_packed_real",
"url":4,
"doc":"create_packed_real(ea, length, force=False) -> bool Convert to packed decimal real. @param ea: (C : ea_t) @param length: (C : asize_t) @param force: (C : bool)",
"func":1
},
{
"ref":"ida_bytes.create_struct",
"url":4,
"doc":"create_struct(ea, length, tid, force=False) -> bool Convert to struct. @param ea: (C : ea_t) @param length: (C : asize_t) @param tid: (C : tid_t) @param force: (C : bool)",
"func":1
},
{
"ref":"ida_bytes.create_custdata",
"url":4,
"doc":"create_custdata(ea, length, dtid, fid, force=False) -> bool Convert to custom data type. @param ea: (C : ea_t) @param length: (C : asize_t) @param dtid: (C : int) @param fid: (C : int) @param force: (C : bool)",
"func":1
},
{
"ref":"ida_bytes.create_align",
"url":4,
"doc":"create_align(ea, length, alignment) -> bool Create an alignment item. @param ea: (C : ea_t) linear address @param length: (C : asize_t) size of the item in bytes. 0 means to infer from ALIGNMENT @param alignment: (C : int) alignment exponent. Example: 3 means align to 8 bytes. 0 means to infer from LENGTH It is forbidden to specify both LENGTH and ALIGNMENT as 0. @return: success",
"func":1
},
{
"ref":"ida_bytes.calc_min_align",
"url":4,
"doc":"calc_min_align(length) -> int Calculate the minimal possible alignment exponent. @param length: (C : asize_t) size of the item in bytes. @return: a value in the 1 32 range",
"func":1
},
{
"ref":"ida_bytes.calc_max_align",
"url":4,
"doc":"calc_max_align(endea) -> int Calculate the maximal possible alignment exponent. @param endea: (C : ea_t) end address of the alignment item. @return: a value in the 0 32 range",
"func":1
},
{
"ref":"ida_bytes.calc_def_align",
"url":4,
"doc":"calc_def_align(ea, mina, maxa) -> int Calculate the default alignment exponent. @param ea: (C : ea_t) linear address @param mina: (C : int) minimal possible alignment exponent. @param maxa: (C : int) minimal possible alignment exponent.",
"func":1
},
{
"ref":"ida_bytes.create_16bit_data",
"url":4,
"doc":"create_16bit_data(ea, length) -> bool Convert to 16-bit quantity (take the byte size into account) @param ea: (C : ea_t) @param length: (C : asize_t)",
"func":1
},
{
"ref":"ida_bytes.create_32bit_data",
"url":4,
"doc":"create_32bit_data(ea, length) -> bool Convert to 32-bit quantity (take the byte size into account) @param ea: (C : ea_t) @param length: (C : asize_t)",
"func":1
},
{
"ref":"ida_bytes.ALOPT_IGNHEADS",
"url":4,
"doc":"don't stop if another data item is encountered. only the byte values will be used to determine the string length. if not set, a defined data item or instruction will truncate the string"
},
{
"ref":"ida_bytes.ALOPT_IGNPRINT",
"url":4,
"doc":"if set, don't stop at non-printable codepoints, but only at the terminating character (or not unicode-mapped character (e.g., 0x8f in CP1252 "
},
{
"ref":"ida_bytes.ALOPT_IGNCLT",
"url":4,
"doc":"if set, don't stop at codepoints that are not part of the current 'culture'; accept all those that are graphical (this is typically used used by user- initiated actions creating string literals.)"
},
{
"ref":"ida_bytes.ALOPT_MAX4K",
"url":4,
"doc":"if string length is more than 4K, return the accumulated length"
},
{
"ref":"ida_bytes.ALOPT_ONLYTERM",
"url":4,
"doc":"only the termination characters can be at the string end. Without this option illegal characters also terminate the string."
},
{
"ref":"ida_bytes.ALOPT_APPEND",
"url":4,
"doc":"if an existing strlit is encountered, then append it to the string."
},
{
"ref":"ida_bytes.get_max_strlit_length",
"url":4,
"doc":"get_max_strlit_length(ea, strtype, options=0) -> size_t Determine maximum length of string literal. If the string literal has a length prefix (e.g., STRTYPE_LEN2 has a two-byte length prefix), the length of that prefix (i.e., 2) will be part of the returned value. @param ea: (C : ea_t) starting address @param strtype: (C : int32) string type. one of String type codes @param options: (C : int) combination of string literal length options @return: length of the string in octets (octet 8bit)",
"func":1
},
{
"ref":"ida_bytes.STRCONV_ESCAPE",
"url":4,
"doc":"convert non-printable characters to C escapes ( , \\xNN, \\uNNNN)"
},
{
"ref":"ida_bytes.STRCONV_REPLCHAR",
"url":4,
"doc":"convert non-printable characters to the Unicode replacement character (U+FFFD)"
},
{
"ref":"ida_bytes.STRCONV_INCLLEN",
"url":4,
"doc":"for Pascal-style strings, include the prefixing length byte(s) as C-escaped sequence"
},
{
"ref":"ida_bytes.create_strlit",
"url":4,
"doc":"create_strlit(start, len, strtype) -> bool Convert to string literal and give a meaningful name. 'start' may be higher than 'end', the kernel will swap them in this case @param start: (C : ea_t) starting address @param len: (C : size_t) length of the string in bytes. if 0, then get_max_strlit_length() will be used to determine the length @param strtype: (C : int32) string type. one of String type codes @return: success",
"func":1
},
{
"ref":"ida_bytes.PSTF_TNORM",
"url":4,
"doc":"use normal name"
},
{
"ref":"ida_bytes.PSTF_TBRIEF",
"url":4,
"doc":"use brief name (e.g., in the 'Strings' window)"
},
{
"ref":"ida_bytes.PSTF_TINLIN",
"url":4,
"doc":"use 'inline' name (e.g., in the structures comments)"
},
{
"ref":"ida_bytes.PSTF_TMASK",
"url":4,
"doc":"type mask"
},
{
"ref":"ida_bytes.PSTF_HOTKEY",
"url":4,
"doc":"have hotkey markers part of the name"
},
{
"ref":"ida_bytes.PSTF_ENC",
"url":4,
"doc":"if encoding is specified, append it"
},
{
"ref":"ida_bytes.PSTF_ONLY_ENC",
"url":4,
"doc":"generate only the encoding name"
},
{
"ref":"ida_bytes.PSTF_ATTRIB",
"url":4,
"doc":"generate for type attribute usage"
},
{
"ref":"ida_bytes.get_opinfo",
"url":4,
"doc":"get_opinfo(buf, ea, n, flags) -> opinfo_t Get additional information about an operand representation. @param buf: (C : opinfo_t  ) buffer to receive the result. may not be nullptr @param ea: (C : ea_t) linear address of item @param n: (C : int) number of operand, 0 or 1 @param flags: (C : flags64_t) flags of the item @return: nullptr if no additional representation information",
"func":1
},
{
"ref":"ida_bytes.set_opinfo",
"url":4,
"doc":"set_opinfo(ea, n, flag, ti, suppress_events=False) -> bool Set additional information about an operand representation. This function is a low level one. Only the kernel should use it. @param ea: (C : ea_t) linear address of the item @param n: (C : int) number of operand, 0 or 1 (see the note below) @param flag: (C : flags64_t) flags of the item @param ti: (C : const opinfo_t  ) additional representation information @param suppress_events: (C : bool) do not generate changing_op_type and op_type_changed events @return: success @note: for custom formats (if is_custfmt(flag, n) is true) or for offsets (if is_off(flag, n) is true) N can be in range 0 UA_MAXOP-1 or equal to OPND_ALL. In the case of OPND_ALL the additional information about all operands will be set.",
"func":1
},
{
"ref":"ida_bytes.get_data_elsize",
"url":4,
"doc":"get_data_elsize(ea, F, ti=None) -> asize_t Get size of data type specified in flags 'F'. @param ea: (C : ea_t) linear address of the item @param F: (C : flags64_t) flags @param ti: (C : const opinfo_t  ) additional information about the data type. For example, if the current item is a structure instance, then ti->tid is structure id. Otherwise is ignored (may be nullptr). If specified as nullptr, will be automatically retrieved from the database @return:  byte : 1  word : 2  etc .",
"func":1
},
{
"ref":"ida_bytes.get_full_data_elsize",
"url":4,
"doc":"get_full_data_elsize(ea, F, ti=None) -> asize_t Get full size of data type specified in flags 'F'. takes into account processors with wide bytes e.g. returns 2 for a byte element with 16-bit bytes @param ea: (C : ea_t) @param F: (C : flags64_t) @param ti: (C : const opinfo_t  ) opinfo_t const  ",
"func":1
},
{
"ref":"ida_bytes.is_varsize_item",
"url":4,
"doc":"is_varsize_item(ea, F, ti=None, itemsize=None) -> int Is the item at 'ea' variable size?. @param ea: (C : ea_t) linear address of the item @param F: (C : flags64_t) flags @param ti: (C : const opinfo_t  ) additional information about the data type. For example, if the current item is a structure instance, then ti->tid is structure id. Otherwise is ignored (may be nullptr). If specified as nullptr, will be automatically retrieved from the database @param itemsize: (C : asize_t  ) if not nullptr and the item is varsize, itemsize will contain the calculated item size (for struct types, the minimal size is returned) @retval 1: varsize item @retval 0: fixed item @retval -1: error (bad data definition)",
"func":1
},
{
"ref":"ida_bytes.get_possible_item_varsize",
"url":4,
"doc":"get_possible_item_varsize(ea, tif) -> asize_t Return the possible size of the item at EA of type TIF if TIF is the variable structure. @param ea: (C : ea_t) the linear address of the item @param tif: (C : const tinfo_t &) the item type @return: the possible size @retval asize_t(-1): TIF is not a variable structure",
"func":1
},
{
"ref":"ida_bytes.can_define_item",
"url":4,
"doc":"can_define_item(ea, length, flags) -> bool Can define item (instruction/data) of the specified 'length', starting at 'ea'? @note: if there is an item starting at 'ea', this function ignores it @note: this function converts to unexplored all encountered data items with fixup information. Should be fixed in the future. @param ea: (C : ea_t) start of the range for the new item @param length: (C : asize_t) length of the new item in bytes @param flags: (C : flags64_t) if not 0, then the kernel will ignore the data types specified by the flags and destroy them. For example: 1000 dw 5 1002 db 5 ; undef 1003 db 5 ; undef 1004 dw 5 1006 dd 5 can_define_item(1000, 6, 0) - false because of dw at 1004 can_define_item(1000, 6, word_flag( - true, word at 1004 is destroyed @return: 1-yes, 0-no  a new item would cross segment boundaries  a new item would overlap with existing items (except items specified by 'flags')",
"func":1
},
{
"ref":"ida_bytes.MS_CODE",
"url":4,
"doc":"Mask for code bits."
},
{
"ref":"ida_bytes.FF_FUNC",
"url":4,
"doc":"function start?"
},
{
"ref":"ida_bytes.FF_IMMD",
"url":4,
"doc":"Has Immediate value ?"
},
{
"ref":"ida_bytes.FF_JUMP",
"url":4,
"doc":"Has jump table or switch_info?"
},
{
"ref":"ida_bytes.has_immd",
"url":4,
"doc":"has_immd(F) -> bool Has immediate value? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.is_func",
"url":4,
"doc":"is_func(F) -> bool Is function start? @param F: (C : flags64_t)",
"func":1
},
{
"ref":"ida_bytes.set_immd",
"url":4,
"doc":"set_immd(ea) -> bool Set 'has immediate operand' flag. Returns true if the FF_IMMD bit was not set and now is set @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.data_type_t",
"url":4,
"doc":"Proxy of C data_type_t class."
},
{
"ref":"ida_bytes.data_type_t.thisown",
"url":4,
"doc":"The membership flag"
},
{
"ref":"ida_bytes.data_type_t.props",
"url":4,
"doc":"properties"
},
{
"ref":"ida_bytes.data_type_t.name",
"url":4,
"doc":"name of the data type. must be unique"
},
{
"ref":"ida_bytes.data_type_t.menu_name",
"url":4,
"doc":"Visible data type name to use in menus if nullptr, no menu item will be created"
},
{
"ref":"ida_bytes.data_type_t.hotkey",
"url":4,
"doc":"Hotkey for the corresponding menu item if nullptr, no hotkey will be associated with the menu item"
},
{
"ref":"ida_bytes.data_type_t.asm_keyword",
"url":4,
"doc":"keyword to use for this type in the assembly if nullptr, the data type cannot be used in the listing it can still be used in cpuregs window"
},
{
"ref":"ida_bytes.data_type_t.value_size",
"url":4,
"doc":"size of the value in bytes"
},
{
"ref":"ida_bytes.data_type_t.is_present_in_menus",
"url":4,
"doc":"is_present_in_menus(self) -> bool Should this type be shown in UI menus @return: success",
"func":1
},
{
"ref":"ida_bytes.data_type_t.id",
"url":4,
"doc":"__get_id(self) -> int"
},
{
"ref":"ida_bytes.DTP_NODUP",
"url":4,
"doc":"do not use dup construct"
},
{
"ref":"ida_bytes.data_format_t",
"url":4,
"doc":"Proxy of C data_format_t class."
},
{
"ref":"ida_bytes.data_format_t.thisown",
"url":4,
"doc":"The membership flag"
},
{
"ref":"ida_bytes.data_format_t.props",
"url":4,
"doc":"properties (currently 0)"
},
{
"ref":"ida_bytes.data_format_t.name",
"url":4,
"doc":"Format name, must be unique."
},
{
"ref":"ida_bytes.data_format_t.menu_name",
"url":4,
"doc":"Visible format name to use in menus if nullptr, no menu item will be created"
},
{
"ref":"ida_bytes.data_format_t.hotkey",
"url":4,
"doc":"Hotkey for the corresponding menu item if nullptr, no hotkey will be associated with the menu item"
},
{
"ref":"ida_bytes.data_format_t.value_size",
"url":4,
"doc":"size of the value in bytes 0 means any size is ok data formats that are registered for standard types (dtid 0) may be called with any value_size (instruction operands only)"
},
{
"ref":"ida_bytes.data_format_t.text_width",
"url":4,
"doc":"Usual width of the text representation This value is used to calculate the width of the control to display values of this type"
},
{
"ref":"ida_bytes.data_format_t.is_present_in_menus",
"url":4,
"doc":"is_present_in_menus(self) -> bool Should this format be shown in UI menus @return: success",
"func":1
},
{
"ref":"ida_bytes.data_format_t.id",
"url":4,
"doc":"__get_id(self) -> int"
},
{
"ref":"ida_bytes.get_custom_data_type",
"url":4,
"doc":"get_custom_data_type(dtid) -> data_type_t Get definition of a registered custom data type. @param dtid: (C : int) data type id @return: data type definition or nullptr",
"func":1
},
{
"ref":"ida_bytes.get_custom_data_format",
"url":4,
"doc":"get_custom_data_format(dfid) -> data_format_t Get definition of a registered custom data format. @param dfid: (C : int) data format id @return: data format definition or nullptr",
"func":1
},
{
"ref":"ida_bytes.attach_custom_data_format",
"url":4,
"doc":"attach_custom_data_format(dtid, dfid) -> bool Attach the data format to the data type. @param dtid: (C : int) data type id that can use the data format. 0 means all standard data types. Such data formats can be applied to any data item or instruction operands. For instruction operands, the data_format_t value_size check is not performed by the kernel. @param dfid: (C : int) data format id @retval true: ok @retval false: no such  dtid , or no such  dfid', or the data format has already been attached to the data type",
"func":1
},
{
"ref":"ida_bytes.detach_custom_data_format",
"url":4,
"doc":"detach_custom_data_format(dtid, dfid) -> bool Detach the data format from the data type. Unregistering a custom data type detaches all attached data formats, no need to detach them explicitly. You still need unregister them. Unregistering a custom data format detaches it from all attached data types. @param dtid: (C : int) data type id to detach data format from @param dfid: (C : int) data format id to detach @retval true: ok @retval false: no such  dtid , or no such  dfid', or the data format was not attached to the data type",
"func":1
},
{
"ref":"ida_bytes.is_attached_custom_data_format",
"url":4,
"doc":"is_attached_custom_data_format(dtid, dfid) -> bool Is the custom data format attached to the custom data type? @param dtid: (C : int) data type id @param dfid: (C : int) data format id @return: true or false",
"func":1
},
{
"ref":"ida_bytes.get_custom_data_types",
"url":4,
"doc":"get_custom_data_types(out, min_size=0, max_size=BADADDR) -> int Get list of registered custom data type ids. @param out: (C : intvec_t  ) buffer for the output. may be nullptr @param min_size: (C : asize_t) minimum value size @param max_size: (C : asize_t) maximum value size @return: number of custom data types with the specified size limits",
"func":1
},
{
"ref":"ida_bytes.get_custom_data_formats",
"url":4,
"doc":"get_custom_data_formats(out, dtid) -> int Get list of attached custom data formats for the specified data type. @param out: (C : intvec_t  ) buffer for the output. may be nullptr @param dtid: (C : int) data type id @return: number of returned custom data formats. if error, returns -1",
"func":1
},
{
"ref":"ida_bytes.find_custom_data_type",
"url":4,
"doc":"find_custom_data_type(name) -> int Get id of a custom data type. @param name: (C : const char  ) name of the custom data type @return: id or -1",
"func":1
},
{
"ref":"ida_bytes.find_custom_data_format",
"url":4,
"doc":"find_custom_data_format(name) -> int Get id of a custom data format. @param name: (C : const char  ) name of the custom data format @return: id or -1",
"func":1
},
{
"ref":"ida_bytes.set_cmt",
"url":4,
"doc":"set_cmt(ea, comm, rptble) -> bool Set an indented comment. @param ea: (C : ea_t) linear address @param comm: (C : const char  ) comment string  nullptr: do nothing (return 0)   : delete comment @param rptble: (C : bool) is repeatable? @return: success",
"func":1
},
{
"ref":"ida_bytes.get_cmt",
"url":4,
"doc":"get_cmt(ea, rptble) -> str Get an indented comment. @param ea: (C : ea_t) linear address. may point to tail byte, the function will find start of the item @param rptble: (C : bool) get repeatable comment? @return: size of comment or -1",
"func":1
},
{
"ref":"ida_bytes.append_cmt",
"url":4,
"doc":"append_cmt(ea, str, rptble) -> bool Append to an indented comment. Creates a new comment if none exists. Appends a newline character and the specified string otherwise. @param ea: (C : ea_t) linear address @param str: (C : const char  ) comment string to append @param rptble: (C : bool) append to repeatable comment? @return: success",
"func":1
},
{
"ref":"ida_bytes.get_predef_insn_cmt",
"url":4,
"doc":"get_predef_insn_cmt(ins) -> str Get predefined comment. @param ins: (C : const insn_t &) current instruction information @return: size of comment or -1",
"func":1
},
{
"ref":"ida_bytes.find_byte",
"url":4,
"doc":"find_byte(sEA, size, value, bin_search_flags) -> ea_t Find forward a byte with the specified value (only 8-bit value from the database). example: ea=4 size=3 will inspect addresses 4, 5, and 6 @param sEA: (C : ea_t) linear address @param size: (C : asize_t) number of bytes to inspect @param value: (C : uchar) value to find @param bin_search_flags: (C : int) combination of Search flags @return: address of byte or BADADDR",
"func":1
},
{
"ref":"ida_bytes.find_byter",
"url":4,
"doc":"find_byter(sEA, size, value, bin_search_flags) -> ea_t Find reverse a byte with the specified value (only 8-bit value from the database). example: ea=4 size=3 will inspect addresses 6, 5, and 4 @param sEA: (C : ea_t) the lower address of the search range @param size: (C : asize_t) number of bytes to inspect @param value: (C : uchar) value to find @param bin_search_flags: (C : int) combination of Search flags @return: address of byte or BADADDR",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_t",
"url":4,
"doc":"Proxy of C compiled_binpat_t class. __init__(self) -> compiled_binpat_t"
},
{
"ref":"ida_bytes.compiled_binpat_t.thisown",
"url":4,
"doc":"The membership flag"
},
{
"ref":"ida_bytes.compiled_binpat_t.bytes",
"url":4,
"doc":"bytes"
},
{
"ref":"ida_bytes.compiled_binpat_t.mask",
"url":4,
"doc":"mask"
},
{
"ref":"ida_bytes.compiled_binpat_t.strlits",
"url":4,
"doc":"strlits"
},
{
"ref":"ida_bytes.compiled_binpat_t.encidx",
"url":4,
"doc":"encidx"
},
{
"ref":"ida_bytes.compiled_binpat_t.all_bytes_defined",
"url":4,
"doc":"all_bytes_defined(self) -> bool",
"func":1
},
{
"ref":"ida_bytes.compiled_binpat_t.qclear",
"url":4,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_bytes.PBSENC_DEF1BPU",
"url":4,
"doc":"Use the default 1 byte-per-unit IDB encoding."
},
{
"ref":"ida_bytes.PBSENC_ALL",
"url":4,
"doc":"Use all IDB encodings."
},
{
"ref":"ida_bytes.parse_binpat_str",
"url":4,
"doc":"parse_binpat_str(out, ea, _in, radix, strlits_encoding=0) -> bool Convert user-specified binary string to internal representation. The 'in' parameter contains space-separated tokens: - numbers (numeric base is determined by 'radix') - if value of number fits a byte, it is considered as a byte - if value of number fits a word, it is considered as 2 bytes - if value of number fits a dword,it is considered as 4 bytes - \" .\" string constants - 'x' single-character constants - ? variable bytes Note that string constants are surrounded with double quotes. Here are a few examples (assuming base 16): CD 21 - bytes 0xCD, 0x21 21CD - bytes 0xCD, 0x21 (little endian ) or 0x21, 0xCD (big-endian) \"Hello\", 0 - the null terminated string \"Hello\" L\"Hello\" - 'H', 0, 'e', 0, 'l', 0, 'l', 0, 'o', 0 B8 ? ? ? ? 90 - byte 0xB8, 4 bytes with any value, byte 0x90 @param out: (C : compiled_binpat_vec_t  ) a vector of compiled binary patterns, for use with bin_search() @param ea: (C : ea_t) linear address to convert for (the conversion depends on the address, because the number of bits in a byte depend on the segment type) @param in: (C : const char  ) input text string @param radix: (C : int) numeric base of numbers (8,10,16) @param strlits_encoding: (C : int) the target encoding into which the string literals present in 'in', should be encoded. Can be any from [1, get_encoding_qty( , or the special values PBSENC_ @return: false either in case of parsing error, or if at least one requested target encoding couldn't encode the string literals present in \"in\".",
"func":1
},
{
"ref":"ida_bytes.bin_search",
"url":4,
"doc":"bin_search(start_ea, end_ea, data, flags) -> ea_t Search for a set of bytes in the program @param start_ea: linear address, start of range to search @param end_ea: linear address, end of range to search (exclusive) @param data: the prepared data to search for (see parse_binpat_str( @param flags: combination of BIN_SEARCH_ flags @return: the address of a match, or ida_idaapi.BADADDR if not found bin_search(start_ea, end_ea, image, mask, len, flags) -> ea_t @param start_ea: ea_t @param end_ea: ea_t @param image: uchar const  @param mask: uchar const  @param len: size_t @param flags: int",
"func":1
},
{
"ref":"ida_bytes.BIN_SEARCH_CASE",
"url":4,
"doc":"case sensitive"
},
{
"ref":"ida_bytes.BIN_SEARCH_NOCASE",
"url":4,
"doc":"case insensitive"
},
{
"ref":"ida_bytes.BIN_SEARCH_NOBREAK",
"url":4,
"doc":"don't check for Ctrl-Break"
},
{
"ref":"ida_bytes.BIN_SEARCH_INITED",
"url":4,
"doc":"find_byte, find_byter: any initilized value"
},
{
"ref":"ida_bytes.BIN_SEARCH_NOSHOW",
"url":4,
"doc":"don't show search progress or update screen"
},
{
"ref":"ida_bytes.BIN_SEARCH_FORWARD",
"url":4,
"doc":"search forward for bytes"
},
{
"ref":"ida_bytes.BIN_SEARCH_BACKWARD",
"url":4,
"doc":"search backward for bytes"
},
{
"ref":"ida_bytes.BIN_SEARCH_BITMASK",
"url":4,
"doc":"searching using strict bit mask"
},
{
"ref":"ida_bytes.next_inited",
"url":4,
"doc":"next_inited(ea, maxea) -> ea_t Find the next initialized address. @param ea: (C : ea_t) @param maxea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.prev_inited",
"url":4,
"doc":"prev_inited(ea, minea) -> ea_t Find the previous initialized address. @param ea: (C : ea_t) @param minea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.equal_bytes",
"url":4,
"doc":"equal_bytes(ea, image, mask, len, bin_search_flags) -> bool Compare 'len' bytes of the program starting from 'ea' with 'image'. @param ea: (C : ea_t) linear address @param image: (C : const uchar  ) bytes to compare with @param mask: (C : const uchar  ) array of mask bytes, it's length is 'len'. if the flag BIN_SEARCH_BITMASK is passsed, 'bitwise AND' is used to compare. if not; 1 means to perform the comparison of the corresponding byte. 0 means not to perform. if mask  nullptr, then all bytes of 'image' will be compared. if mask  SKIP_FF_MASK then 0xFF bytes will be skipped @param len: (C : size_t) length of block to compare in bytes. @param bin_search_flags: (C : int) combination of Search flags @retval 1: equal @retval 0: not equal",
"func":1
},
{
"ref":"ida_bytes.hidden_range_t",
"url":4,
"doc":"Proxy of C hidden_range_t class. __init__(self) -> hidden_range_t"
},
{
"ref":"ida_bytes.hidden_range_t.thisown",
"url":4,
"doc":"The membership flag"
},
{
"ref":"ida_bytes.hidden_range_t.description",
"url":4,
"doc":"description to display if the range is collapsed"
},
{
"ref":"ida_bytes.hidden_range_t.header",
"url":4,
"doc":"header lines to display if the range is expanded"
},
{
"ref":"ida_bytes.hidden_range_t.footer",
"url":4,
"doc":"footer lines to display if the range is expanded"
},
{
"ref":"ida_bytes.hidden_range_t.visible",
"url":4,
"doc":"the range state"
},
{
"ref":"ida_bytes.hidden_range_t.color",
"url":4,
"doc":"range color"
},
{
"ref":"ida_bytes.hidden_range_t.start_ea",
"url":5,
"doc":"start_ea included"
},
{
"ref":"ida_bytes.hidden_range_t.end_ea",
"url":5,
"doc":"end_ea excluded"
},
{
"ref":"ida_bytes.hidden_range_t.compare",
"url":5,
"doc":"compare(self, r) -> int @param r: range_t const &",
"func":1
},
{
"ref":"ida_bytes.hidden_range_t.contains",
"url":5,
"doc":"contains(self, ea) -> bool Is every ea in 'r' also in this range_t? @param ea: ea_t contains(self, r) -> bool @param r: range_t const &",
"func":1
},
{
"ref":"ida_bytes.hidden_range_t.overlaps",
"url":5,
"doc":"overlaps(self, r) -> bool Is there an ea in 'r' that is also in this range_t? @param r: (C : const range_t &) range_t const &",
"func":1
},
{
"ref":"ida_bytes.hidden_range_t.clear",
"url":5,
"doc":"clear(self) Set start_ea, end_ea to 0.",
"func":1
},
{
"ref":"ida_bytes.hidden_range_t.empty",
"url":5,
"doc":"empty(self) -> bool Is the size of the range_t <= 0?",
"func":1
},
{
"ref":"ida_bytes.hidden_range_t.size",
"url":5,
"doc":"size(self) -> asize_t Get end_ea - start_ea.",
"func":1
},
{
"ref":"ida_bytes.hidden_range_t.intersect",
"url":5,
"doc":"intersect(self, r) Assign the range_t to the intersection between the range_t and 'r'. @param r: (C : const range_t &) range_t const &",
"func":1
},
{
"ref":"ida_bytes.hidden_range_t.extend",
"url":5,
"doc":"extend(self, ea) Ensure that the range_t includes 'ea'. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_bytes.update_hidden_range",
"url":4,
"doc":"update_hidden_range(ha) -> bool Update hidden range information in the database. You cannot use this function to change the range boundaries @param ha: (C : const hidden_range_t  ) range to update @return: success",
"func":1
},
{
"ref":"ida_bytes.add_hidden_range",
"url":4,
"doc":"add_hidden_range(ea1, ea2, description, header, footer, color=bgcolor_t(-1 -> bool Mark a range of addresses as hidden. The range will be created in the invisible state with the default color @param ea1: (C : ea_t) linear address of start of the address range @param ea2: (C : ea_t) linear address of end of the address range @param description: (C : const char  ) ,header,footer: range parameters @param header: (C : const char  ) char const  @param footer: (C : const char  ) char const  @param color: (C : bgcolor_t) the range color @return: success",
"func":1
},
{
"ref":"ida_bytes.get_hidden_range",
"url":4,
"doc":"get_hidden_range(ea) -> hidden_range_t Get pointer to hidden range structure, in: linear address. @param ea: (C : ea_t) any address in the hidden range",
"func":1
},
{
"ref":"ida_bytes.getn_hidden_range",
"url":4,
"doc":"getn_hidden_range(n) -> hidden_range_t Get pointer to hidden range structure, in: number of hidden range. @param n: (C : int) number of hidden range, is in range 0 get_hidden_range_qty()-1",
"func":1
},
{
"ref":"ida_bytes.get_hidden_range_qty",
"url":4,
"doc":"get_hidden_range_qty() -> int Get number of hidden ranges.",
"func":1
},
{
"ref":"ida_bytes.get_hidden_range_num",
"url":4,
"doc":"get_hidden_range_num(ea) -> int Get number of a hidden range. @param ea: (C : ea_t) any address in the hidden range @return: number of hidden range (0 get_hidden_range_qty()-1)",
"func":1
},
{
"ref":"ida_bytes.get_prev_hidden_range",
"url":4,
"doc":"get_prev_hidden_range(ea) -> hidden_range_t Get pointer to previous hidden range. @param ea: (C : ea_t) any address in the program @return: ptr to hidden range or nullptr if previous hidden range doesn't exist",
"func":1
},
{
"ref":"ida_bytes.get_next_hidden_range",
"url":4,
"doc":"get_next_hidden_range(ea) -> hidden_range_t Get pointer to next hidden range. @param ea: (C : ea_t) any address in the program @return: ptr to hidden range or nullptr if next hidden range doesn't exist",
"func":1
},
{
"ref":"ida_bytes.get_first_hidden_range",
"url":4,
"doc":"get_first_hidden_range() -> hidden_range_t Get pointer to the first hidden range. @return: ptr to hidden range or nullptr",
"func":1
},
{
"ref":"ida_bytes.get_last_hidden_range",
"url":4,
"doc":"get_last_hidden_range() -> hidden_range_t Get pointer to the last hidden range. @return: ptr to hidden range or nullptr",
"func":1
},
{
"ref":"ida_bytes.del_hidden_range",
"url":4,
"doc":"del_hidden_range(ea) -> bool Delete hidden range. @param ea: (C : ea_t) any address in the hidden range @return: success",
"func":1
},
{
"ref":"ida_bytes.add_mapping",
"url":4,
"doc":"add_mapping(_from, to, size) -> bool IDA supports memory mapping. References to the addresses from the mapped range use data and meta-data from the mapping range. @note: You should set flag PR2_MAPPING in ph.flag2 to use memory mapping Add memory mapping range. @param from: (C : ea_t) start of the mapped range (nonexistent address) @param to: (C : ea_t) start of the mapping range (existent address) @param size: (C : asize_t) size of the range @return: success",
"func":1
},
{
"ref":"ida_bytes.del_mapping",
"url":4,
"doc":"del_mapping(ea) Delete memory mapping range. @param ea: (C : ea_t) any address in the mapped range",
"func":1
},
{
"ref":"ida_bytes.use_mapping",
"url":4,
"doc":"use_mapping(ea) -> ea_t Translate address according to current mappings. @param ea: (C : ea_t) address to translate @return: translated address",
"func":1
},
{
"ref":"ida_bytes.get_mappings_qty",
"url":4,
"doc":"get_mappings_qty() -> size_t Get number of mappings.",
"func":1
},
{
"ref":"ida_bytes.get_mapping",
"url":4,
"doc":"get_mapping(n) -> bool Get memory mapping range by its number. @param n: (C : size_t) number of mapping range (0 get_mappings_qty()-1) @return: false if the specified range doesn't exist, otherwise returns  from ,  to ,  size ",
"func":1
},
{
"ref":"ida_bytes.visit_patched_bytes",
"url":4,
"doc":"visit_patched_bytes(ea1, ea2, py_callable) -> int Enumerates patched bytes in the given range and invokes a callable @param ea1: start address @param ea2: end address @param py_callable: a Python callable with the following prototype: callable(ea, fpos, org_val, patch_val). If the callable returns non-zero then that value will be returned to the caller and the enumeration will be interrupted. @return: Zero if the enumeration was successful or the return value of the callback if enumeration was interrupted.",
"func":1
},
{
"ref":"ida_bytes.get_bytes",
"url":4,
"doc":"get_bytes(ea, size, gmb_flags=0x01) -> PyObject Get the specified number of bytes of the program. @param ea: program address @param size: number of bytes to return @param gmb_flags: int @return: the bytes (as bytes object), or None in case of failure",
"func":1
},
{
"ref":"ida_bytes.get_bytes_and_mask",
"url":4,
"doc":"get_bytes_and_mask(ea, size, gmb_flags=0x01) -> PyObject Get the specified number of bytes of the program, and a bitmask specifying what bytes are defined and what bytes are not. @param ea: program address @param size: number of bytes to return @param gmb_flags: int @return: a tuple (bytes, mask), or None in case of failure. Both 'bytes' and 'mask' are 'str' instances.",
"func":1
},
{
"ref":"ida_bytes.get_strlit_contents",
"url":4,
"doc":"get_strlit_contents(ea, py_len, type, flags=0) -> PyObject Get contents of string literal, as UTF-8-encoded codepoints. It works even if the string has not been created in the database yet. Note that the returned value will be of type 'bytes'; if you want auto-conversion to unicode strings (that is: real Python strings), you should probably be using the idautils.Strings class. @param ea: linear address of the string @param py_len: length of the string in bytes (including terminating 0) @param type: type of the string. Represents both the character encoding,  and the 'type' of string at the given location. @param flags: combination of STRCONV_ ., to perform output conversion. @return: a bytes-filled str object.",
"func":1
},
{
"ref":"ida_bytes.print_strlit_type",
"url":4,
"doc":"print_strlit_type(strtype, flags=0) -> PyObject Get string type information: the string type name (possibly decorated with hotkey markers), and the tooltip. @param strtype: (C : int32) the string type @param flags: (C : int) or'ed PSTF_ constants @return: length of generated text",
"func":1
},
{
"ref":"ida_bytes.op_stroff",
"url":4,
"doc":"op_stroff(insn, n, path, path_len, delta) -> bool Set operand representation to be 'struct offset'. @param insn: (C : const insn_t &) the instruction @param n: (C : int) 0 UA_MAXOP-1 operand number, OPND_ALL all operands @param path: (C : const tid_t  ) structure path (strpath). see nalt.hpp for more info. @param path_len: (C : int) length of the structure path @param delta: (C : adiff_t) struct offset delta. usually 0. denotes the difference between the structure base and the pointer into the structure. @return: success op_stroff(insn, n, path, delta) -> bool @param insn: an ida_ua.insn_t, or an address (C : const insn_t &) @param n: int @param path: qvector const & @param delta: adiff_t",
"func":1
},
{
"ref":"ida_bytes.register_custom_data_type",
"url":4,
"doc":"register_custom_data_type(py_dt) -> int Registers a custom data type. @param py_dt: an instance of the data_type_t class @return:  0 data type id",
"func":1
},
{
"ref":"ida_bytes.unregister_custom_data_type",
"url":4,
"doc":"unregister_custom_data_type(dtid) -> bool Unregisters a custom data type. @param dtid: the data type id @return: Boolean",
"func":1
},
{
"ref":"ida_bytes.register_custom_data_format",
"url":4,
"doc":"register_custom_data_format(py_df) -> int Registers a custom data format with a given data type. @param py_df: an instance of data_format_t @return:  0 data format id",
"func":1
},
{
"ref":"ida_bytes.unregister_custom_data_format",
"url":4,
"doc":"unregister_custom_data_format(dfid) -> bool Unregisters a custom data format @param dfid: data format id @return: Boolean",
"func":1
},
{
"ref":"ida_bytes.register_data_types_and_formats",
"url":4,
"doc":"Registers multiple data types and formats at once. To register one type/format at a time use register_custom_data_type/register_custom_data_format It employs a special table of types and formats described below: The 'formats' is a list of tuples. If a tuple has one element then it is the format to be registered with dtid=0 If the tuple has more than one element, then tuple[0] is the data type and tuple[1:] are the data formats. For example: many_formats = [ (pascal_data_type(), pascal_data_format( , (simplevm_data_type(), simplevm_data_format( , (makedword_data_format(),), (simplevm_data_format(),) ] The first two tuples describe data types and their associated formats. The last two tuples describe two data formats to be used with built-in data types. The data format may be attached to several data types. The id of the data format is stored in the first data_format_t object. For example: assert many_formats[1][1] != -1 assert many_formats[2][0] != -1 assert many_formats[3][0]  -1",
"func":1
},
{
"ref":"ida_bytes.unregister_data_types_and_formats",
"url":4,
"doc":"As opposed to register_data_types_and_formats(), this function unregisters multiple data types and formats at once.",
"func":1
},
{
"ref":"ida_bytes.find_bytes",
"url":4,
"doc":"",
"func":1
},
{
"ref":"ida_bytes.find_string",
"url":4,
"doc":"",
"func":1
},
{
"ref":"ida_dbg",
"url":6,
"doc":"Contains functions to control the debugging of a process. See Debugger functions for a complete explanation of these functions. These functions are inlined for the kernel. They are not inlined for the user- interfaces."
},
{
"ref":"ida_dbg.bpt_vec_t",
"url":6,
"doc":"Proxy of C qvector class. __init__(self) -> bpt_vec_t __init__(self, x) -> bpt_vec_t @param x: qvector const &"
},
{
"ref":"ida_dbg.bpt_vec_t.thisown",
"url":6,
"doc":"The membership flag"
},
{
"ref":"ida_dbg.bpt_vec_t.push_back",
"url":6,
"doc":"push_back(self, x) @param x: bpt_t const & push_back(self) -> bpt_t",
"func":1
},
{
"ref":"ida_dbg.bpt_vec_t.pop_back",
"url":6,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_dbg.bpt_vec_t.size",
"url":6,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_dbg.bpt_vec_t.empty",
"url":6,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_dbg.bpt_vec_t.at",
"url":6,
"doc":"at(self, _idx) -> bpt_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_dbg.bpt_vec_t.qclear",
"url":6,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_dbg.bpt_vec_t.clear",
"url":6,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_dbg.bpt_vec_t.resize",
"url":6,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: bpt_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_dbg.bpt_vec_t.grow",
"url":6,
"doc":"grow(self, x=bpt_t( @param x: bpt_t const &",
"func":1
},
{
"ref":"ida_dbg.bpt_vec_t.capacity",
"url":6,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_dbg.bpt_vec_t.reserve",
"url":6,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_dbg.bpt_vec_t.truncate",
"url":6,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_dbg.bpt_vec_t.swap",
"url":6,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_dbg.bpt_vec_t.extract",
"url":6,
"doc":"extract(self) -> bpt_t",
"func":1
},
{
"ref":"ida_dbg.bpt_vec_t.inject",
"url":6,
"doc":"inject(self, s, len) @param s: bpt_t  @param len: size_t",
"func":1
},
{
"ref":"ida_dbg.bpt_vec_t.begin",
"url":6,
"doc":"begin(self) -> bpt_t",
"func":1
},
{
"ref":"ida_dbg.bpt_vec_t.end",
"url":6,
"doc":"end(self) -> bpt_t",
"func":1
},
{
"ref":"ida_dbg.bpt_vec_t.insert",
"url":6,
"doc":"insert(self, it, x) -> bpt_t @param it: qvector  iterator @param x: bpt_t const &",
"func":1
},
{
"ref":"ida_dbg.bpt_vec_t.erase",
"url":6,
"doc":"erase(self, it) -> bpt_t @param it: qvector  iterator erase(self, first, last) -> bpt_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_dbg.bpt_vec_t.front",
"url":6,
"doc":"",
"func":1
},
{
"ref":"ida_dbg.bpt_vec_t.back",
"url":6,
"doc":"",
"func":1
},
{
"ref":"ida_dbg.tev_reg_values_t",
"url":6,
"doc":"Proxy of C qvector class. __init__(self) -> tev_reg_values_t __init__(self, x) -> tev_reg_values_t @param x: qvector const &"
},
{
"ref":"ida_dbg.tev_reg_values_t.thisown",
"url":6,
"doc":"The membership flag"
},
{
"ref":"ida_dbg.tev_reg_values_t.push_back",
"url":6,
"doc":"push_back(self, x) @param x: tev_reg_value_t const & push_back(self) -> tev_reg_value_t",
"func":1
},
{
"ref":"ida_dbg.tev_reg_values_t.pop_back",
"url":6,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_dbg.tev_reg_values_t.size",
"url":6,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_dbg.tev_reg_values_t.empty",
"url":6,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_dbg.tev_reg_values_t.at",
"url":6,
"doc":"at(self, _idx) -> tev_reg_value_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_dbg.tev_reg_values_t.qclear",
"url":6,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_dbg.tev_reg_values_t.clear",
"url":6,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_dbg.tev_reg_values_t.resize",
"url":6,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: tev_reg_value_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_dbg.tev_reg_values_t.grow",
"url":6,
"doc":"grow(self, x=tev_reg_value_t( @param x: tev_reg_value_t const &",
"func":1
},
{
"ref":"ida_dbg.tev_reg_values_t.capacity",
"url":6,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_dbg.tev_reg_values_t.reserve",
"url":6,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_dbg.tev_reg_values_t.truncate",
"url":6,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_dbg.tev_reg_values_t.swap",
"url":6,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_dbg.tev_reg_values_t.extract",
"url":6,
"doc":"extract(self) -> tev_reg_value_t",
"func":1
},
{
"ref":"ida_dbg.tev_reg_values_t.inject",
"url":6,
"doc":"inject(self, s, len) @param s: tev_reg_value_t  @param len: size_t",
"func":1
},
{
"ref":"ida_dbg.tev_reg_values_t.begin",
"url":6,
"doc":"begin(self) -> tev_reg_value_t",
"func":1
},
{
"ref":"ida_dbg.tev_reg_values_t.end",
"url":6,
"doc":"end(self) -> tev_reg_value_t",
"func":1
},
{
"ref":"ida_dbg.tev_reg_values_t.insert",
"url":6,
"doc":"insert(self, it, x) -> tev_reg_value_t @param it: qvector  iterator @param x: tev_reg_value_t const &",
"func":1
},
{
"ref":"ida_dbg.tev_reg_values_t.erase",
"url":6,
"doc":"erase(self, it) -> tev_reg_value_t @param it: qvector  iterator erase(self, first, last) -> tev_reg_value_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_dbg.tev_reg_values_t.front",
"url":6,
"doc":"",
"func":1
},
{
"ref":"ida_dbg.tev_reg_values_t.back",
"url":6,
"doc":"",
"func":1
},
{
"ref":"ida_dbg.tevinforeg_vec_t",
"url":6,
"doc":"Proxy of C qvector class. __init__(self) -> tevinforeg_vec_t __init__(self, x) -> tevinforeg_vec_t @param x: qvector const &"
},
{
"ref":"ida_dbg.tevinforeg_vec_t.thisown",
"url":6,
"doc":"The membership flag"
},
{
"ref":"ida_dbg.tevinforeg_vec_t.push_back",
"url":6,
"doc":"push_back(self, x) @param x: tev_info_reg_t const & push_back(self) -> tev_info_reg_t",
"func":1
},
{
"ref":"ida_dbg.tevinforeg_vec_t.pop_back",
"url":6,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_dbg.tevinforeg_vec_t.size",
"url":6,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_dbg.tevinforeg_vec_t.empty",
"url":6,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_dbg.tevinforeg_vec_t.at",
"url":6,
"doc":"at(self, _idx) -> tev_info_reg_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_dbg.tevinforeg_vec_t.qclear",
"url":6,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_dbg.tevinforeg_vec_t.clear",
"url":6,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_dbg.tevinforeg_vec_t.resize",
"url":6,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: tev_info_reg_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_dbg.tevinforeg_vec_t.grow",
"url":6,
"doc":"grow(self, x=tev_info_reg_t( @param x: tev_info_reg_t const &",
"func":1
},
{
"ref":"ida_dbg.tevinforeg_vec_t.capacity",
"url":6,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_dbg.tevinforeg_vec_t.reserve",
"url":6,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_dbg.tevinforeg_vec_t.truncate",
"url":6,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_dbg.tevinforeg_vec_t.swap",
"url":6,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_dbg.tevinforeg_vec_t.extract",
"url":6,
"doc":"extract(self) -> tev_info_reg_t",
"func":1
},
{
"ref":"ida_dbg.tevinforeg_vec_t.inject",
"url":6,
"doc":"inject(self, s, len) @param s: tev_info_reg_t  @param len: size_t",
"func":1
},
{
"ref":"ida_dbg.tevinforeg_vec_t.begin",
"url":6,
"doc":"begin(self) -> tev_info_reg_t",
"func":1
},
{
"ref":"ida_dbg.tevinforeg_vec_t.end",
"url":6,
"doc":"end(self) -> tev_info_reg_t",
"func":1
},
{
"ref":"ida_dbg.tevinforeg_vec_t.insert",
"url":6,
"doc":"insert(self, it, x) -> tev_info_reg_t @param it: qvector  iterator @param x: tev_info_reg_t const &",
"func":1
},
{
"ref":"ida_dbg.tevinforeg_vec_t.erase",
"url":6,
"doc":"erase(self, it) -> tev_info_reg_t @param it: qvector  iterator erase(self, first, last) -> tev_info_reg_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_dbg.tevinforeg_vec_t.front",
"url":6,
"doc":"",
"func":1
},
{
"ref":"ida_dbg.tevinforeg_vec_t.back",
"url":6,
"doc":"",
"func":1
},
{
"ref":"ida_dbg.memreg_infos_t",
"url":6,
"doc":"Proxy of C qvector class. __init__(self) -> memreg_infos_t __init__(self, x) -> memreg_infos_t @param x: qvector const &"
},
{
"ref":"ida_dbg.memreg_infos_t.thisown",
"url":6,
"doc":"The membership flag"
},
{
"ref":"ida_dbg.memreg_infos_t.push_back",
"url":6,
"doc":"push_back(self, x) @param x: memreg_info_t const & push_back(self) -> memreg_info_t",
"func":1
},
{
"ref":"ida_dbg.memreg_infos_t.pop_back",
"url":6,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_dbg.memreg_infos_t.size",
"url":6,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_dbg.memreg_infos_t.empty",
"url":6,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_dbg.memreg_infos_t.at",
"url":6,
"doc":"at(self, _idx) -> memreg_info_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_dbg.memreg_infos_t.qclear",
"url":6,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_dbg.memreg_infos_t.clear",
"url":6,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_dbg.memreg_infos_t.resize",
"url":6,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: memreg_info_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_dbg.memreg_infos_t.grow",
"url":6,
"doc":"grow(self, x=memreg_info_t( @param x: memreg_info_t const &",
"func":1
},
{
"ref":"ida_dbg.memreg_infos_t.capacity",
"url":6,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_dbg.memreg_infos_t.reserve",
"url":6,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_dbg.memreg_infos_t.truncate",
"url":6,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_dbg.memreg_infos_t.swap",
"url":6,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_dbg.memreg_infos_t.extract",
"url":6,
"doc":"extract(self) -> memreg_info_t",
"func":1
},
{
"ref":"ida_dbg.memreg_infos_t.inject",
"url":6,
"doc":"inject(self, s, len) @param s: memreg_info_t  @param len: size_t",
"func":1
},
{
"ref":"ida_dbg.memreg_infos_t.begin",
"url":6,
"doc":"begin(self) -> memreg_info_t",
"func":1
},
{
"ref":"ida_dbg.memreg_infos_t.end",
"url":6,
"doc":"end(self) -> memreg_info_t",
"func":1
},
{
"ref":"ida_dbg.memreg_infos_t.insert",
"url":6,
"doc":"insert(self, it, x) -> memreg_info_t @param it: qvector  iterator @param x: memreg_info_t const &",
"func":1
},
{
"ref":"ida_dbg.memreg_infos_t.erase",
"url":6,
"doc":"erase(self, it) -> memreg_info_t @param it: qvector  iterator erase(self, first, last) -> memreg_info_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_dbg.memreg_infos_t.front",
"url":6,
"doc":"",
"func":1
},
{
"ref":"ida_dbg.memreg_infos_t.back",
"url":6,
"doc":"",
"func":1
},
{
"ref":"ida_dbg.run_to",
"url":6,
"doc":"run_to(ea, pid=pid_t(-1), tid=0) -> bool Execute the process until the given address is reached. If no process is active, a new process is started. Technically, the debugger sets up a temporary breakpoint at the given address, and continues (or starts) the execution of the whole process. So, all threads continue their execution! \\sq{Type, Asynchronous function - available as Request, Notification, dbg_run_to} @param ea: (C : ea_t) target address @param pid: (C : pid_t) not used yet. please do not specify this parameter.",
"func":1
},
{
"ref":"ida_dbg.request_run_to",
"url":6,
"doc":"request_run_to(ea, pid=pid_t(-1), tid=0) -> bool Post a run_to() request. @param ea: (C : ea_t) @param pid: (C : pid_t)",
"func":1
},
{
"ref":"ida_dbg.dbg_process_start",
"url":6,
"doc":"@param event: (const debug_event_t  ) @note: This event notification is also an asynchronous function result notification for start_process() !"
},
{
"ref":"ida_dbg.dbg_process_exit",
"url":6,
"doc":"@param event: (const debug_event_t  ) @note: This event notification is also an asynchronous function result notification for start_process() !"
},
{
"ref":"ida_dbg.dbg_process_attach",
"url":6,
"doc":"@param event: (const debug_event_t  ) @note: This event notification is also an asynchronous function result notification for start_process() !"
},
{
"ref":"ida_dbg.dbg_process_detach",
"url":6,
"doc":"@param event: (const debug_event_t  ) @note: This event notification is also an asynchronous function result notification for start_process() !"
},
{
"ref":"ida_dbg.dbg_thread_start",
"url":6,
"doc":"@param event: (const debug_event_t  )"
},
{
"ref":"ida_dbg.dbg_thread_exit",
"url":6,
"doc":"@param event: (const debug_event_t  )"
},
{
"ref":"ida_dbg.dbg_library_load",
"url":6,
"doc":"@param event: (const debug_event_t  )"
},
{
"ref":"ida_dbg.dbg_library_unload",
"url":6,
"doc":"@param event: (const debug_event_t  )"
},
{
"ref":"ida_dbg.dbg_information",
"url":6,
"doc":"@param event: (const debug_event_t  )"
},
{
"ref":"ida_dbg.dbg_exception",
"url":6,
"doc":"@param event: (const debug_event_t  ) @param warn: (int  ) filled with:  -1: display an exception warning dialog if the process is suspended.  0: never display an exception warning dialog.  1: always display an exception warning dialog."
},
{
"ref":"ida_dbg.dbg_suspend_process",
"url":6,
"doc":"The process is now suspended. @param event: (const debug_event_t  ) @note: This event notification is also an asynchronous function result notification for suspend_process() !"
},
{
"ref":"ida_dbg.dbg_bpt",
"url":6,
"doc":"A user defined breakpoint was reached. @param tid: (thid_t) @param bptea: ( ea_t) @param warn: (int  ) filled with:  -1: display an exception warning dialog if the process is suspended.  0: never display an exception warning dialog.  1: always display an exception warning dialog."
},
{
"ref":"ida_dbg.dbg_trace",
"url":6,
"doc":"A step occurred (one instruction was executed). This event notification is only generated if step tracing is enabled. @param tid: (thid_t) thread ID @param ip: ( ea_t) current instruction pointer. usually points after the executed instruction @retval 1: do not log this trace event @retval 0: log it"
},
{
"ref":"ida_dbg.dbg_request_error",
"url":6,
"doc":"An error occurred during the processing of a request. @param failed_command: (ui_notification_t) @param failed_dbg_notification: (dbg_notification_t)"
},
{
"ref":"ida_dbg.dbg_step_into",
"url":6,
"doc":"@param event: (const debug_event_t  )"
},
{
"ref":"ida_dbg.dbg_step_over",
"url":6,
"doc":"@param event: (const debug_event_t  )"
},
{
"ref":"ida_dbg.dbg_run_to",
"url":6,
"doc":"@param event: (const debug_event_t  )"
},
{
"ref":"ida_dbg.dbg_step_until_ret",
"url":6,
"doc":"@param event: (const debug_event_t  )"
},
{
"ref":"ida_dbg.dbg_bpt_changed",
"url":6,
"doc":"Breakpoint has been changed. @param bptev_code: (int) Breakpoint modification events @param bpt: (bpt_t  )"
},
{
"ref":"ida_dbg.dbg_started_loading_bpts",
"url":6,
"doc":"Started loading breakpoint info from idb."
},
{
"ref":"ida_dbg.dbg_finished_loading_bpts",
"url":6,
"doc":"Finished loading breakpoint info from idb."
},
{
"ref":"ida_dbg.dbg_last",
"url":6,
"doc":"The last debugger notification code."
},
{
"ref":"ida_dbg.BPTEV_ADDED",
"url":6,
"doc":"Breakpoint has been added."
},
{
"ref":"ida_dbg.BPTEV_REMOVED",
"url":6,
"doc":"Breakpoint has been removed."
},
{
"ref":"ida_dbg.BPTEV_CHANGED",
"url":6,
"doc":"Breakpoint has been modified."
},
{
"ref":"ida_dbg.run_requests",
"url":6,
"doc":"run_requests() -> bool Execute requests until all requests are processed or an asynchronous function is called. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @return: false if not all requests could be processed (indicates an asynchronous function was started) @note: If called from a notification handler, the execution of requests will be postponed to the end of the execution of all notification handlers.",
"func":1
},
{
"ref":"ida_dbg.get_running_request",
"url":6,
"doc":"get_running_request() -> ui_notification_t Get the current running request. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @return: ui_null if no running request",
"func":1
},
{
"ref":"ida_dbg.is_request_running",
"url":6,
"doc":"is_request_running() -> bool Is a request currently running?",
"func":1
},
{
"ref":"ida_dbg.get_running_notification",
"url":6,
"doc":"get_running_notification() -> dbg_notification_t Get the notification associated (if any) with the current running request. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @return: dbg_null if no running request",
"func":1
},
{
"ref":"ida_dbg.clear_requests_queue",
"url":6,
"doc":"clear_requests_queue() Clear the queue of waiting requests. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @note: If a request is currently running, this one isn't stopped.",
"func":1
},
{
"ref":"ida_dbg.get_process_state",
"url":6,
"doc":"get_process_state() -> int Return the state of the currently debugged process. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @return: one of Debugged process states",
"func":1
},
{
"ref":"ida_dbg.DSTATE_SUSP",
"url":6,
"doc":"process is suspended and will not continue"
},
{
"ref":"ida_dbg.DSTATE_NOTASK",
"url":6,
"doc":"no process is currently debugged"
},
{
"ref":"ida_dbg.DSTATE_RUN",
"url":6,
"doc":"process is running"
},
{
"ref":"ida_dbg.is_valid_dstate",
"url":6,
"doc":"is_valid_dstate(state) -> bool @param state: int",
"func":1
},
{
"ref":"ida_dbg.DBGINV_MEMORY",
"url":6,
"doc":"invalidate cached memory contents"
},
{
"ref":"ida_dbg.DBGINV_MEMCFG",
"url":6,
"doc":"invalidate cached process segmentation"
},
{
"ref":"ida_dbg.DBGINV_REGS",
"url":6,
"doc":"invalidate cached register values"
},
{
"ref":"ida_dbg.DBGINV_ALL",
"url":6,
"doc":"invalidate everything"
},
{
"ref":"ida_dbg.DBGINV_REDRAW",
"url":6,
"doc":"refresh the screen"
},
{
"ref":"ida_dbg.DBGINV_NONE",
"url":6,
"doc":"invalidate nothing"
},
{
"ref":"ida_dbg.set_process_state",
"url":6,
"doc":"set_process_state(newstate, p_thid, dbginv) -> int Set new state for the debugged process. Notifies the IDA kernel about the change of the debugged process state. For example, a debugger module could call this function when it knows that the process is suspended for a short period of time. Some IDA API calls can be made only when the process is suspended. The process state is usually restored before returning control to the caller. You must know that it is ok to change the process state, doing it at arbitrary moments may crash the application or IDA. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param newstate: (C : int) new process state (one of Debugged process states) if DSTATE_NOTASK is passed then the state is not changed @param p_thid: (C : thid_t  ) ptr to new thread id. may be nullptr or pointer to NO_THREAD. the pointed variable will contain the old thread id upon return @param dbginv: (C : int) Debugged process invalidation options @return: old debugger state (one of Debugged process states)",
"func":1
},
{
"ref":"ida_dbg.invalidate_dbg_state",
"url":6,
"doc":"invalidate_dbg_state(dbginv) -> int Invalidate cached debugger information. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param dbginv: (C : int) Debugged process invalidation options @return: current debugger state (one of Debugged process states)",
"func":1
},
{
"ref":"ida_dbg.start_process",
"url":6,
"doc":"start_process(path=None, args=None, sdir=None) -> int Start a process in the debugger. \\sq{Type, Asynchronous function - available as Request, Notification, dbg_process_start} @note: You can also use the run_to() function to easily start the execution of a process until a given address is reached. @note: For all parameters, a nullptr value indicates the debugger will take the value from the defined Process Options. @param path: (C : const char  ) path to the executable to start @param args: (C : const char  ) arguments to pass to process @param sdir: (C : const char  ) starting directory for the process @retval -1: impossible to create the process @retval 0: the starting of the process was cancelled by the user @retval 1: the process was properly started",
"func":1
},
{
"ref":"ida_dbg.request_start_process",
"url":6,
"doc":"request_start_process(path=None, args=None, sdir=None) -> int Post a start_process() request. @param path: (C : const char  ) char const  @param args: (C : const char  ) char const  @param sdir: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_dbg.suspend_process",
"url":6,
"doc":"suspend_process() -> bool Suspend the process in the debugger. \\sq{ Type,  Synchronous function (if in a notification handler)  Asynchronous function (everywhere else)  available as Request, Notification,  none (if in a notification handler)  dbg_suspend_process (everywhere else) } @note: The suspend_process() function can be called from a notification handler to force the stopping of the process. In this case, no notification will be generated. When you suspend a process, the running command is always aborted.",
"func":1
},
{
"ref":"ida_dbg.request_suspend_process",
"url":6,
"doc":"request_suspend_process() -> bool Post a suspend_process() request.",
"func":1
},
{
"ref":"ida_dbg.continue_process",
"url":6,
"doc":"continue_process() -> bool Continue the execution of the process in the debugger. \\sq{Type, Synchronous function - available as Request, Notification, none (synchronous function)} @note: The continue_process() function can be called from a notification handler to force the continuation of the process. In this case the request queue will not be examined, IDA will simply resume execution. Usually it makes sense to call request_continue_process() followed by run_requests(), so that IDA will first start a queued request (if any) and then resume the application.",
"func":1
},
{
"ref":"ida_dbg.request_continue_process",
"url":6,
"doc":"request_continue_process() -> bool Post a continue_process() request. @note: This requires an explicit call to run_requests()",
"func":1
},
{
"ref":"ida_dbg.exit_process",
"url":6,
"doc":"exit_process() -> bool Terminate the debugging of the current process. \\sq{Type, Asynchronous function - available as Request, Notification, dbg_process_exit}",
"func":1
},
{
"ref":"ida_dbg.request_exit_process",
"url":6,
"doc":"request_exit_process() -> bool Post an exit_process() request.",
"func":1
},
{
"ref":"ida_dbg.get_processes",
"url":6,
"doc":"get_processes(proclist) -> ssize_t Take a snapshot of running processes and return their description. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param proclist: (C : procinfo_vec_t  ) array with information about each running process @return: number of processes or -1 on error",
"func":1
},
{
"ref":"ida_dbg.attach_process",
"url":6,
"doc":"attach_process(pid=pid_t(-1), event_id=-1) -> int Attach the debugger to a running process. \\sq{Type, Asynchronous function - available as Request, Notification, dbg_process_attach} @note: This function shouldn't be called as a request if NO_PROCESS is used. @param pid: (C : pid_t) PID of the process to attach to. If NO_PROCESS, a dialog box will interactively ask the user for the process to attach to. @retval -4: debugger was not inited @retval -3: the attaching is not supported @retval -2: impossible to find a compatible process @retval -1: impossible to attach to the given process (process died, privilege needed, not supported by the debugger plugin,  .) @retval 0: the user cancelled the attaching to the process @retval 1: the debugger properly attached to the process",
"func":1
},
{
"ref":"ida_dbg.request_attach_process",
"url":6,
"doc":"request_attach_process(pid, event_id) -> int Post an attach_process() request. @param pid: (C : pid_t) @param event_id: (C : int)",
"func":1
},
{
"ref":"ida_dbg.detach_process",
"url":6,
"doc":"detach_process() -> bool Detach the debugger from the debugged process. \\sq{Type, Asynchronous function - available as Request, Notification, dbg_process_detach}",
"func":1
},
{
"ref":"ida_dbg.request_detach_process",
"url":6,
"doc":"request_detach_process() -> bool Post a detach_process() request.",
"func":1
},
{
"ref":"ida_dbg.is_debugger_busy",
"url":6,
"doc":"is_debugger_busy() -> bool Is the debugger busy?. Some debuggers do not accept any commands while the debugged application is running. For such a debugger, it is unsafe to do anything with the database (even simple queries like get_byte may lead to undesired consequences). Returns: true if the debugged application is running under such a debugger",
"func":1
},
{
"ref":"ida_dbg.get_thread_qty",
"url":6,
"doc":"get_thread_qty() -> int Get number of threads. \\sq{Type, Synchronous function, Notification, none (synchronous function)}",
"func":1
},
{
"ref":"ida_dbg.getn_thread",
"url":6,
"doc":"getn_thread(n) -> thid_t Get the ID of a thread. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param n: (C : int) number of thread, is in range 0 get_thread_qty()-1 @return: NO_THREAD if the thread doesn't exist.",
"func":1
},
{
"ref":"ida_dbg.get_current_thread",
"url":6,
"doc":"get_current_thread() -> thid_t Get current thread ID. \\sq{Type, Synchronous function, Notification, none (synchronous function)}",
"func":1
},
{
"ref":"ida_dbg.getn_thread_name",
"url":6,
"doc":"getn_thread_name(n) -> char const  Get the NAME of a thread \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param n: (C : int) number of thread, is in range 0 get_thread_qty()-1 or -1 for the current thread @return: thread name or nullptr if the thread doesn't exist.",
"func":1
},
{
"ref":"ida_dbg.select_thread",
"url":6,
"doc":"select_thread(tid) -> bool Select the given thread as the current debugged thread. All thread related execution functions will work on this thread. The process must be suspended to select a new thread. \\sq{Type, Synchronous function - available as request, Notification, none (synchronous function)} @param tid: (C : thid_t) ID of the thread to select @return: false if the thread doesn't exist.",
"func":1
},
{
"ref":"ida_dbg.request_select_thread",
"url":6,
"doc":"request_select_thread(tid) -> bool Post a select_thread() request. @param tid: (C : thid_t)",
"func":1
},
{
"ref":"ida_dbg.suspend_thread",
"url":6,
"doc":"suspend_thread(tid) -> int Suspend thread. Suspending a thread may deadlock the whole application if the suspended was owning some synchronization objects. \\sq{Type, Synchronous function - available as request, Notification, none (synchronous function)} @param tid: (C : thid_t) thread id @retval -1: network error @retval 0: failed @retval 1: ok",
"func":1
},
{
"ref":"ida_dbg.request_suspend_thread",
"url":6,
"doc":"request_suspend_thread(tid) -> int Post a suspend_thread() request. @param tid: (C : thid_t)",
"func":1
},
{
"ref":"ida_dbg.resume_thread",
"url":6,
"doc":"resume_thread(tid) -> int Resume thread. \\sq{Type, Synchronous function - available as request, Notification, none (synchronous function)} @param tid: (C : thid_t) thread id @retval -1: network error @retval 0: failed @retval 1: ok",
"func":1
},
{
"ref":"ida_dbg.request_resume_thread",
"url":6,
"doc":"request_resume_thread(tid) -> int Post a resume_thread() request. @param tid: (C : thid_t)",
"func":1
},
{
"ref":"ida_dbg.get_first_module",
"url":6,
"doc":"get_first_module(modinfo) -> bool @param modinfo: modinfo_t  ",
"func":1
},
{
"ref":"ida_dbg.get_next_module",
"url":6,
"doc":"get_next_module(modinfo) -> bool @param modinfo: modinfo_t  ",
"func":1
},
{
"ref":"ida_dbg.step_into",
"url":6,
"doc":"step_into() -> bool Execute one instruction in the current thread. Other threads are kept suspended. \\sq{Type, Asynchronous function - available as Request, Notification, dbg_step_into}",
"func":1
},
{
"ref":"ida_dbg.request_step_into",
"url":6,
"doc":"request_step_into() -> bool Post a step_into() request.",
"func":1
},
{
"ref":"ida_dbg.step_over",
"url":6,
"doc":"step_over() -> bool Execute one instruction in the current thread, but without entering into functions. Others threads keep suspended. \\sq{Type, Asynchronous function - available as Request, Notification, dbg_step_over}",
"func":1
},
{
"ref":"ida_dbg.request_step_over",
"url":6,
"doc":"request_step_over() -> bool Post a step_over() request.",
"func":1
},
{
"ref":"ida_dbg.step_until_ret",
"url":6,
"doc":"step_until_ret() -> bool Execute instructions in the current thread until a function return instruction is executed (aka \"step out\"). Other threads are kept suspended. \\sq{Type, Asynchronous function - available as Request, Notification, dbg_step_until_ret}",
"func":1
},
{
"ref":"ida_dbg.request_step_until_ret",
"url":6,
"doc":"request_step_until_ret() -> bool Post a step_until_ret() request.",
"func":1
},
{
"ref":"ida_dbg.set_resume_mode",
"url":6,
"doc":"set_resume_mode(tid, mode) -> bool How to resume the application. Set resume mode but do not resume process. @param tid: (C : thid_t) @param mode: (C : resume_mode_t) enum resume_mode_t",
"func":1
},
{
"ref":"ida_dbg.request_set_resume_mode",
"url":6,
"doc":"request_set_resume_mode(tid, mode) -> bool Post a set_resume_mode() request. @param tid: (C : thid_t) @param mode: (C : resume_mode_t) enum resume_mode_t",
"func":1
},
{
"ref":"ida_dbg.get_dbg_reg_info",
"url":6,
"doc":"get_dbg_reg_info(regname, ri) -> bool Get register information \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param regname: (C : const char  ) char const  @param ri: (C : register_info_t  )",
"func":1
},
{
"ref":"ida_dbg.get_sp_val",
"url":6,
"doc":"get_sp_val() -> bool Get value of the SP register for the current thread. Requires a suspended debugger.",
"func":1
},
{
"ref":"ida_dbg.get_ip_val",
"url":6,
"doc":"get_ip_val() -> bool Get value of the IP (program counter) register for the current thread. Requires a suspended debugger.",
"func":1
},
{
"ref":"ida_dbg.is_reg_integer",
"url":6,
"doc":"is_reg_integer(regname) -> bool Does a register contain an integer value? \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param regname: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_dbg.is_reg_float",
"url":6,
"doc":"is_reg_float(regname) -> bool Does a register contain a floating point value? \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param regname: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_dbg.is_reg_custom",
"url":6,
"doc":"is_reg_custom(regname) -> bool Does a register contain a value of a custom data type? \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param regname: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_dbg.set_bptloc_string",
"url":6,
"doc":"set_bptloc_string(s) -> int @param s: char const  ",
"func":1
},
{
"ref":"ida_dbg.get_bptloc_string",
"url":6,
"doc":"get_bptloc_string(i) -> char const  @param i: int",
"func":1
},
{
"ref":"ida_dbg.MOVBPT_OK",
"url":6,
"doc":"moved ok"
},
{
"ref":"ida_dbg.MOVBPT_NOT_FOUND",
"url":6,
"doc":"source bpt not found"
},
{
"ref":"ida_dbg.MOVBPT_DEST_BUSY",
"url":6,
"doc":"destination location is busy (we already have such a bpt)"
},
{
"ref":"ida_dbg.MOVBPT_BAD_TYPE",
"url":6,
"doc":"BPLT_ABS is not supported."
},
{
"ref":"ida_dbg.bptaddrs_t",
"url":6,
"doc":"Proxy of C bptaddrs_t class. __init__(self) -> bptaddrs_t"
},
{
"ref":"ida_dbg.bptaddrs_t.thisown",
"url":6,
"doc":"The membership flag"
},
{
"ref":"ida_dbg.bptaddrs_t.bpt",
"url":6,
"doc":"bpt"
},
{
"ref":"ida_dbg.BPLT_ABS",
"url":6,
"doc":"absolute address: ea"
},
{
"ref":"ida_dbg.BPLT_REL",
"url":6,
"doc":"relative address: module_path, offset"
},
{
"ref":"ida_dbg.BPLT_SYM",
"url":6,
"doc":"symbolic: symbol_name, offset"
},
{
"ref":"ida_dbg.BPLT_SRC",
"url":6,
"doc":"source level: filename, lineno"
},
{
"ref":"ida_dbg.bpt_location_t",
"url":6,
"doc":"Proxy of C bpt_location_t class. __init__(self) -> bpt_location_t"
},
{
"ref":"ida_dbg.bpt_location_t.thisown",
"url":6,
"doc":"The membership flag"
},
{
"ref":"ida_dbg.bpt_location_t.info",
"url":6,
"doc":"info"
},
{
"ref":"ida_dbg.bpt_location_t.index",
"url":6,
"doc":"index"
},
{
"ref":"ida_dbg.bpt_location_t.loctype",
"url":6,
"doc":"loctype"
},
{
"ref":"ida_dbg.bpt_location_t.type",
"url":6,
"doc":"type(self) -> bpt_loctype_t Get bpt type.",
"func":1
},
{
"ref":"ida_dbg.bpt_location_t.is_empty_path",
"url":6,
"doc":"is_empty_path(self) -> bool No path/filename specified? (BPLT_REL, BPLT_SRC)",
"func":1
},
{
"ref":"ida_dbg.bpt_location_t.path",
"url":6,
"doc":"path(self) -> char const  Get path/filename (BPLT_REL, BPLT_SRC)",
"func":1
},
{
"ref":"ida_dbg.bpt_location_t.symbol",
"url":6,
"doc":"symbol(self) -> char const  Get symbol name (BPLT_SYM)",
"func":1
},
{
"ref":"ida_dbg.bpt_location_t.lineno",
"url":6,
"doc":"lineno(self) -> int Get line number (BPLT_SRC)",
"func":1
},
{
"ref":"ida_dbg.bpt_location_t.offset",
"url":6,
"doc":"offset(self) -> uval_t Get offset (BPLT_REL, BPLT_SYM)",
"func":1
},
{
"ref":"ida_dbg.bpt_location_t.ea",
"url":6,
"doc":"ea(self) -> ea_t Get address (BPLT_ABS)",
"func":1
},
{
"ref":"ida_dbg.bpt_location_t.set_abs_bpt",
"url":6,
"doc":"set_abs_bpt(self, a) Specify an absolute address location. @param a: (C : ea_t)",
"func":1
},
{
"ref":"ida_dbg.bpt_location_t.set_src_bpt",
"url":6,
"doc":"set_src_bpt(self, fn, _lineno) Specify a source level location. @param fn: (C : const char  ) char const  @param _lineno: (C : int)",
"func":1
},
{
"ref":"ida_dbg.bpt_location_t.set_sym_bpt",
"url":6,
"doc":"set_sym_bpt(self, _symbol, _offset=0) Specify a symbolic location. @param _symbol: (C : const char  ) char const  @param _offset: (C : uval_t)",
"func":1
},
{
"ref":"ida_dbg.bpt_location_t.set_rel_bpt",
"url":6,
"doc":"set_rel_bpt(self, mod, _offset) Specify a relative address location. @param mod: (C : const char  ) char const  @param _offset: (C : uval_t)",
"func":1
},
{
"ref":"ida_dbg.bpt_location_t.compare",
"url":6,
"doc":"compare(self, r) -> int Lexically compare two breakpoint locations. Bpt locations are first compared based on type (i.e. BPLT_ABS < BPLT_REL). BPLT_ABS locations are compared based on their ea values. For all other location types, locations are first compared based on their string (path/filename/symbol), then their offset/lineno. @param r: (C : const bpt_location_t &) bpt_location_t const &",
"func":1
},
{
"ref":"ida_dbg.bpt_t",
"url":6,
"doc":"Proxy of C bpt_t class. __init__(self) -> bpt_t"
},
{
"ref":"ida_dbg.bpt_t.thisown",
"url":6,
"doc":"The membership flag"
},
{
"ref":"ida_dbg.bpt_t.cb",
"url":6,
"doc":"size of this structure"
},
{
"ref":"ida_dbg.bpt_t.loc",
"url":6,
"doc":"Location."
},
{
"ref":"ida_dbg.bpt_t.pid",
"url":6,
"doc":"breakpoint process id"
},
{
"ref":"ida_dbg.bpt_t.tid",
"url":6,
"doc":"breakpoint thread id"
},
{
"ref":"ida_dbg.bpt_t.ea",
"url":6,
"doc":"Address, if known. For BPLT_SRC, index into an internal data struct."
},
{
"ref":"ida_dbg.bpt_t.type",
"url":6,
"doc":"Breakpoint type."
},
{
"ref":"ida_dbg.bpt_t.pass_count",
"url":6,
"doc":"Number of times the breakpoint is hit before stopping (default is 0: stop always)"
},
{
"ref":"ida_dbg.bpt_t.flags",
"url":6,
"doc":"Breakpoint property bits"
},
{
"ref":"ida_dbg.bpt_t.props",
"url":6,
"doc":"Internal breakpoint properties"
},
{
"ref":"ida_dbg.bpt_t.size",
"url":6,
"doc":"Size of the breakpoint (0 for software breakpoints)"
},
{
"ref":"ida_dbg.bpt_t.cndidx",
"url":6,
"doc":"Internal number of the condition (<0-none)"
},
{
"ref":"ida_dbg.bpt_t.bptid",
"url":6,
"doc":"Internal breakpoint id."
},
{
"ref":"ida_dbg.bpt_t.is_hwbpt",
"url":6,
"doc":"is_hwbpt(self) -> bool Is hardware breakpoint?",
"func":1
},
{
"ref":"ida_dbg.bpt_t.enabled",
"url":6,
"doc":"enabled(self) -> bool Is breakpoint enabled?",
"func":1
},
{
"ref":"ida_dbg.bpt_t.is_low_level",
"url":6,
"doc":"is_low_level(self) -> bool Is bpt condition calculated at low level?",
"func":1
},
{
"ref":"ida_dbg.bpt_t.badbpt",
"url":6,
"doc":"badbpt(self) -> bool Failed to write bpt to process memory?",
"func":1
},
{
"ref":"ida_dbg.bpt_t.listbpt",
"url":6,
"doc":"listbpt(self) -> bool Include in the bpt list?",
"func":1
},
{
"ref":"ida_dbg.bpt_t.is_compiled",
"url":6,
"doc":"is_compiled(self) -> bool Condition has been compiled?",
"func":1
},
{
"ref":"ida_dbg.bpt_t.is_active",
"url":6,
"doc":"is_active(self) -> bool Written completely to process?",
"func":1
},
{
"ref":"ida_dbg.bpt_t.is_partially_active",
"url":6,
"doc":"is_partially_active(self) -> bool Written partially to process?",
"func":1
},
{
"ref":"ida_dbg.bpt_t.is_inactive",
"url":6,
"doc":"is_inactive(self) -> bool Not written to process at all?",
"func":1
},
{
"ref":"ida_dbg.bpt_t.is_page_bpt",
"url":6,
"doc":"is_page_bpt(self) -> bool Page breakpoint?",
"func":1
},
{
"ref":"ida_dbg.bpt_t.get_size",
"url":6,
"doc":"get_size(self) -> int Get bpt size.",
"func":1
},
{
"ref":"ida_dbg.bpt_t.set_abs_bpt",
"url":6,
"doc":"set_abs_bpt(self, a) Set bpt location to an absolute address. @param a: (C : ea_t)",
"func":1
},
{
"ref":"ida_dbg.bpt_t.set_src_bpt",
"url":6,
"doc":"set_src_bpt(self, fn, lineno) Set bpt location to a source line. @param fn: (C : const char  ) char const  @param lineno: (C : int)",
"func":1
},
{
"ref":"ida_dbg.bpt_t.set_sym_bpt",
"url":6,
"doc":"set_sym_bpt(self, sym, o) Set bpt location to a symbol. @param sym: (C : const char  ) char const  @param o: (C : uval_t)",
"func":1
},
{
"ref":"ida_dbg.bpt_t.set_rel_bpt",
"url":6,
"doc":"set_rel_bpt(self, mod, o) Set bpt location to a relative address. @param mod: (C : const char  ) char const  @param o: (C : uval_t)",
"func":1
},
{
"ref":"ida_dbg.bpt_t.is_absbpt",
"url":6,
"doc":"is_absbpt(self) -> bool Is absolute address breakpoint?",
"func":1
},
{
"ref":"ida_dbg.bpt_t.is_relbpt",
"url":6,
"doc":"is_relbpt(self) -> bool Is relative address breakpoint?",
"func":1
},
{
"ref":"ida_dbg.bpt_t.is_symbpt",
"url":6,
"doc":"is_symbpt(self) -> bool Is symbolic breakpoint?",
"func":1
},
{
"ref":"ida_dbg.bpt_t.is_srcbpt",
"url":6,
"doc":"is_srcbpt(self) -> bool Is source level breakpoint?",
"func":1
},
{
"ref":"ida_dbg.bpt_t.is_tracemodebpt",
"url":6,
"doc":"is_tracemodebpt(self) -> bool Does breakpoint trace anything?",
"func":1
},
{
"ref":"ida_dbg.bpt_t.is_traceonbpt",
"url":6,
"doc":"is_traceonbpt(self) -> bool Is this a tracing breakpoint, and is tracing enabled?",
"func":1
},
{
"ref":"ida_dbg.bpt_t.is_traceoffbpt",
"url":6,
"doc":"is_traceoffbpt(self) -> bool Is this a tracing breakpoint, and is tracing disabled?",
"func":1
},
{
"ref":"ida_dbg.bpt_t.set_trace_action",
"url":6,
"doc":"set_trace_action(self, enable, trace_types) -> bool Configure tracing options. @param enable: (C : bool) @param trace_types: (C : int)",
"func":1
},
{
"ref":"ida_dbg.bpt_t.get_cnd_elang_idx",
"url":6,
"doc":"get_cnd_elang_idx(self) -> size_t",
"func":1
},
{
"ref":"ida_dbg.bpt_t.condition",
"url":6,
"doc":"condition"
},
{
"ref":"ida_dbg.bpt_t.elang",
"url":6,
"doc":"elang"
},
{
"ref":"ida_dbg.BPT_BRK",
"url":6,
"doc":"suspend execution upon hit"
},
{
"ref":"ida_dbg.BPT_TRACE",
"url":6,
"doc":"add trace information upon hit"
},
{
"ref":"ida_dbg.BPT_UPDMEM",
"url":6,
"doc":"refresh the memory layout and contents before evaluating bpt condition"
},
{
"ref":"ida_dbg.BPT_ENABLED",
"url":6,
"doc":"enabled?"
},
{
"ref":"ida_dbg.BPT_LOWCND",
"url":6,
"doc":"condition is calculated at low level (on the server side)"
},
{
"ref":"ida_dbg.BPT_TRACEON",
"url":6,
"doc":"enable tracing when the breakpoint is reached"
},
{
"ref":"ida_dbg.BPT_TRACE_INSN",
"url":6,
"doc":"instruction tracing"
},
{
"ref":"ida_dbg.BPT_TRACE_FUNC",
"url":6,
"doc":"function tracing"
},
{
"ref":"ida_dbg.BPT_TRACE_BBLK",
"url":6,
"doc":"basic block tracing"
},
{
"ref":"ida_dbg.BPT_TRACE_TYPES",
"url":6,
"doc":"trace insns, functions, and basic blocks. if any of BPT_TRACE_TYPES bits are set but BPT_TRACEON is clear, then turn off tracing for the specified trace types"
},
{
"ref":"ida_dbg.BPT_ELANG_SHIFT",
"url":6,
"doc":"index of the extlang (scripting language) of the condition"
},
{
"ref":"ida_dbg.BKPT_BADBPT",
"url":6,
"doc":"failed to write the bpt to the process memory (at least one location)"
},
{
"ref":"ida_dbg.BKPT_LISTBPT",
"url":6,
"doc":"include in bpt list (user-defined bpt)"
},
{
"ref":"ida_dbg.BKPT_TRACE",
"url":6,
"doc":"trace bpt; should not be deleted when the process gets suspended"
},
{
"ref":"ida_dbg.BKPT_ACTIVE",
"url":6,
"doc":"active?"
},
{
"ref":"ida_dbg.BKPT_PARTIAL",
"url":6,
"doc":"partially active? (some locations were not written yet)"
},
{
"ref":"ida_dbg.BKPT_CNDREADY",
"url":6,
"doc":"condition has been compiled"
},
{
"ref":"ida_dbg.BKPT_FAKEPEND",
"url":6,
"doc":"fake pending bpt: it is inactive but another bpt of the same type is active at the same address(es)"
},
{
"ref":"ida_dbg.BKPT_PAGE",
"url":6,
"doc":"written to the process as a page bpt. Available only after writing the bpt to the process."
},
{
"ref":"ida_dbg.get_bpt_qty",
"url":6,
"doc":"get_bpt_qty() -> int Get number of breakpoints. \\sq{Type, Synchronous function, Notification, none (synchronous function)}",
"func":1
},
{
"ref":"ida_dbg.getn_bpt",
"url":6,
"doc":"getn_bpt(n, bpt) -> bool Get the characteristics of a breakpoint. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param n: (C : int) number of breakpoint, is in range 0 get_bpt_qty()-1 @param bpt: (C : bpt_t  ) filled with the characteristics. @return: false if no breakpoint exists",
"func":1
},
{
"ref":"ida_dbg.get_bpt",
"url":6,
"doc":"get_bpt(ea, bpt) -> bool Get the characteristics of a breakpoint. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param ea: (C : ea_t) any address in the breakpoint range @param bpt: (C : bpt_t  ) if not nullptr, is filled with the characteristics. @return: false if no breakpoint exists",
"func":1
},
{
"ref":"ida_dbg.exist_bpt",
"url":6,
"doc":"exist_bpt(ea) -> bool Does a breakpoint exist at the given location? @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_dbg.add_bpt",
"url":6,
"doc":"add_bpt(ea, size=0, type=BPT_DEFAULT) -> bool Add a new breakpoint in the debugged process. \\sq{Type, Synchronous function - available as request, Notification, none (synchronous function)} @param bpt: (C : const bpt_t &) Breakpoint to add. It describes the break condition, type, flags, location (module relative, source breakpoint or absolute) and other attributes. @param size: asize_t @param type: bpttype_t add_bpt(bpt) -> bool @param bpt: bpt_t const &",
"func":1
},
{
"ref":"ida_dbg.request_add_bpt",
"url":6,
"doc":"request_add_bpt(ea, size=0, type=BPT_DEFAULT) -> bool Post an add_bpt(const bpt_t &) request. @param ea: ea_t @param size: asize_t @param type: bpttype_t request_add_bpt(bpt) -> bool @param bpt: bpt_t const &",
"func":1
},
{
"ref":"ida_dbg.del_bpt",
"url":6,
"doc":"del_bpt(ea) -> bool Delete an existing breakpoint in the debugged process. \\sq{Type, Synchronous function - available as request, Notification, none (synchronous function)} @param bptloc: (C : const bpt_location_t &) Breakpoint location del_bpt(bptloc) -> bool @param bptloc: bpt_location_t const &",
"func":1
},
{
"ref":"ida_dbg.request_del_bpt",
"url":6,
"doc":"request_del_bpt(ea) -> bool Post a del_bpt(const bpt_location_t &) request. @param ea: ea_t request_del_bpt(bptloc) -> bool @param bptloc: bpt_location_t const &",
"func":1
},
{
"ref":"ida_dbg.update_bpt",
"url":6,
"doc":"update_bpt(bpt) -> bool Update modifiable characteristics of an existing breakpoint. To update the breakpoint location, use change_bptlocs() \\sq{Type, Synchronous function, Notification, none (synchronous function)} @note: Only the following fields can be modified:  bpt_t cndbody  bpt_t pass_count  bpt_t flags  bpt_t size  bpt_t type @note: Changing some properties will require removing and then re-adding the breakpoint to the process memory (or the debugger backend), which can lead to race conditions (i.e., breakpoint(s) can be missed) in case the process is not suspended. Here are a list of scenarios that will require the breakpoint to be removed & then re-added:  bpt_t size is modified  bpt_t type is modified  bpt_t flags's BPT_ENABLED is modified  bpt_t flags's BPT_LOWCND is changed  bpt_t flags's BPT_LOWCND remains set, but cndbody changed @param bpt: (C : const bpt_t  ) bpt_t const  ",
"func":1
},
{
"ref":"ida_dbg.find_bpt",
"url":6,
"doc":"find_bpt(bptloc, bpt) -> bool Find a breakpoint by location. \\sq{Type, Synchronous function - available as request, Notification, none (synchronous function)} @param bptloc: (C : const bpt_location_t &) Breakpoint location @param bpt: (C : bpt_t  ) bpt is filled if the breakpoint was found",
"func":1
},
{
"ref":"ida_dbg.enable_bpt",
"url":6,
"doc":"enable_bpt(ea, enable=True) -> bool @param ea: ea_t @param enable: bool enable_bpt(bptloc, enable=True) -> bool @param bptloc: bpt_location_t const & @param enable: bool",
"func":1
},
{
"ref":"ida_dbg.disable_bpt",
"url":6,
"doc":"disable_bpt(ea) -> bool @param ea: ea_t disable_bpt(bptloc) -> bool @param bptloc: bpt_location_t const &",
"func":1
},
{
"ref":"ida_dbg.request_enable_bpt",
"url":6,
"doc":"request_enable_bpt(ea, enable=True) -> bool @param ea: ea_t @param enable: bool request_enable_bpt(bptloc, enable=True) -> bool @param bptloc: bpt_location_t const & @param enable: bool",
"func":1
},
{
"ref":"ida_dbg.request_disable_bpt",
"url":6,
"doc":"request_disable_bpt(ea) -> bool @param ea: ea_t request_disable_bpt(bptloc) -> bool @param bptloc: bpt_location_t const &",
"func":1
},
{
"ref":"ida_dbg.check_bpt",
"url":6,
"doc":"check_bpt(ea) -> int Check the breakpoint at the specified address. @param ea: (C : ea_t) @return: one of Breakpoint status codes",
"func":1
},
{
"ref":"ida_dbg.BPTCK_NONE",
"url":6,
"doc":"breakpoint does not exist"
},
{
"ref":"ida_dbg.BPTCK_NO",
"url":6,
"doc":"breakpoint is disabled"
},
{
"ref":"ida_dbg.BPTCK_YES",
"url":6,
"doc":"breakpoint is enabled"
},
{
"ref":"ida_dbg.BPTCK_ACT",
"url":6,
"doc":"breakpoint is active (written to the process)"
},
{
"ref":"ida_dbg.set_trace_size",
"url":6,
"doc":"set_trace_size(size) -> bool Specify the new size of the circular buffer. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param size: (C : int) if 0, buffer isn't circular and events are never removed. If the new size is smaller than the existing number of trace events, a corresponding number of trace events are removed. @note: If you specify 0, all available memory can be quickly used  !",
"func":1
},
{
"ref":"ida_dbg.clear_trace",
"url":6,
"doc":"clear_trace() Clear all events in the trace buffer. \\sq{Type, Synchronous function - available as request, Notification, none (synchronous function)}",
"func":1
},
{
"ref":"ida_dbg.request_clear_trace",
"url":6,
"doc":"request_clear_trace() Post a clear_trace() request.",
"func":1
},
{
"ref":"ida_dbg.is_step_trace_enabled",
"url":6,
"doc":"is_step_trace_enabled() -> bool Get current state of step tracing. \\sq{Type, Synchronous function, Notification, none (synchronous function)}",
"func":1
},
{
"ref":"ida_dbg.enable_step_trace",
"url":6,
"doc":"enable_step_trace(enable=1) -> bool @param enable: int",
"func":1
},
{
"ref":"ida_dbg.disable_step_trace",
"url":6,
"doc":"disable_step_trace() -> bool",
"func":1
},
{
"ref":"ida_dbg.request_enable_step_trace",
"url":6,
"doc":"request_enable_step_trace(enable=1) -> bool @param enable: int",
"func":1
},
{
"ref":"ida_dbg.request_disable_step_trace",
"url":6,
"doc":"request_disable_step_trace() -> bool",
"func":1
},
{
"ref":"ida_dbg.ST_OVER_DEBUG_SEG",
"url":6,
"doc":"step tracing will be disabled when IP is in a debugger segment"
},
{
"ref":"ida_dbg.ST_OVER_LIB_FUNC",
"url":6,
"doc":"step tracing will be disabled when IP is in a library function"
},
{
"ref":"ida_dbg.ST_ALREADY_LOGGED",
"url":6,
"doc":"step tracing will be disabled when IP is already logged"
},
{
"ref":"ida_dbg.ST_SKIP_LOOPS",
"url":6,
"doc":"step tracing will try to skip loops already recorded"
},
{
"ref":"ida_dbg.ST_DIFFERENTIAL",
"url":6,
"doc":"tracing: log only new instructions (not previously logged)"
},
{
"ref":"ida_dbg.ST_OPTIONS_MASK",
"url":6,
"doc":"mask of available options, to ensure compatibility with newer IDA versions"
},
{
"ref":"ida_dbg.IT_LOG_SAME_IP",
"url":6,
"doc":"specific options for instruction tracing (see set_insn_trace_options( instruction tracing will log new instructions even when IP doesn't change"
},
{
"ref":"ida_dbg.FT_LOG_RET",
"url":6,
"doc":"specific options for function tracing (see set_func_trace_options( function tracing will log returning instructions"
},
{
"ref":"ida_dbg.BT_LOG_INSTS",
"url":6,
"doc":"specific options for basic block tracing (see set_bblk_trace_options( log all instructions in the current basic block"
},
{
"ref":"ida_dbg.get_step_trace_options",
"url":6,
"doc":"get_step_trace_options() -> int Get current step tracing options. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @return: Step trace options",
"func":1
},
{
"ref":"ida_dbg.set_step_trace_options",
"url":6,
"doc":"set_step_trace_options(options) Modify step tracing options. \\sq{Type, Synchronous function - available as request, Notification, none (synchronous function)} @param options: (C : int)",
"func":1
},
{
"ref":"ida_dbg.request_set_step_trace_options",
"url":6,
"doc":"request_set_step_trace_options(options) Post a set_step_trace_options() request. @param options: (C : int)",
"func":1
},
{
"ref":"ida_dbg.is_insn_trace_enabled",
"url":6,
"doc":"is_insn_trace_enabled() -> bool Get current state of instruction tracing. \\sq{Type, Synchronous function, Notification, none (synchronous function)}",
"func":1
},
{
"ref":"ida_dbg.enable_insn_trace",
"url":6,
"doc":"enable_insn_trace(enable=True) -> bool @param enable: bool",
"func":1
},
{
"ref":"ida_dbg.disable_insn_trace",
"url":6,
"doc":"disable_insn_trace() -> bool",
"func":1
},
{
"ref":"ida_dbg.request_enable_insn_trace",
"url":6,
"doc":"request_enable_insn_trace(enable=True) -> bool @param enable: bool",
"func":1
},
{
"ref":"ida_dbg.request_disable_insn_trace",
"url":6,
"doc":"request_disable_insn_trace() -> bool",
"func":1
},
{
"ref":"ida_dbg.get_insn_trace_options",
"url":6,
"doc":"get_insn_trace_options() -> int Get current instruction tracing options. Also see IT_LOG_SAME_IP \\sq{Type, Synchronous function, Notification, none (synchronous function)}",
"func":1
},
{
"ref":"ida_dbg.set_insn_trace_options",
"url":6,
"doc":"set_insn_trace_options(options) Modify instruction tracing options. \\sq{Type, Synchronous function - available as request, Notification, none (synchronous function)} @param options: (C : int)",
"func":1
},
{
"ref":"ida_dbg.request_set_insn_trace_options",
"url":6,
"doc":"request_set_insn_trace_options(options) Post a set_insn_trace_options() request. @param options: (C : int)",
"func":1
},
{
"ref":"ida_dbg.is_func_trace_enabled",
"url":6,
"doc":"is_func_trace_enabled() -> bool Get current state of functions tracing. \\sq{Type, Synchronous function, Notification, none (synchronous function)}",
"func":1
},
{
"ref":"ida_dbg.enable_func_trace",
"url":6,
"doc":"enable_func_trace(enable=True) -> bool @param enable: bool",
"func":1
},
{
"ref":"ida_dbg.disable_func_trace",
"url":6,
"doc":"disable_func_trace() -> bool",
"func":1
},
{
"ref":"ida_dbg.request_enable_func_trace",
"url":6,
"doc":"request_enable_func_trace(enable=True) -> bool @param enable: bool",
"func":1
},
{
"ref":"ida_dbg.request_disable_func_trace",
"url":6,
"doc":"request_disable_func_trace() -> bool",
"func":1
},
{
"ref":"ida_dbg.get_func_trace_options",
"url":6,
"doc":"get_func_trace_options() -> int Get current function tracing options. Also see FT_LOG_RET \\sq{Type, Synchronous function, Notification, none (synchronous function)}",
"func":1
},
{
"ref":"ida_dbg.set_func_trace_options",
"url":6,
"doc":"set_func_trace_options(options) Modify function tracing options. \\sq{Type, Synchronous function - available as request, Notification, none (synchronous function)} @param options: (C : int)",
"func":1
},
{
"ref":"ida_dbg.request_set_func_trace_options",
"url":6,
"doc":"request_set_func_trace_options(options) Post a set_func_trace_options() request. @param options: (C : int)",
"func":1
},
{
"ref":"ida_dbg.enable_bblk_trace",
"url":6,
"doc":"enable_bblk_trace(enable=True) -> bool @param enable: bool",
"func":1
},
{
"ref":"ida_dbg.disable_bblk_trace",
"url":6,
"doc":"disable_bblk_trace() -> bool",
"func":1
},
{
"ref":"ida_dbg.request_enable_bblk_trace",
"url":6,
"doc":"request_enable_bblk_trace(enable=True) -> bool @param enable: bool",
"func":1
},
{
"ref":"ida_dbg.request_disable_bblk_trace",
"url":6,
"doc":"request_disable_bblk_trace() -> bool",
"func":1
},
{
"ref":"ida_dbg.is_bblk_trace_enabled",
"url":6,
"doc":"is_bblk_trace_enabled() -> bool",
"func":1
},
{
"ref":"ida_dbg.get_bblk_trace_options",
"url":6,
"doc":"get_bblk_trace_options() -> int Get current basic block tracing options. Also see BT_LOG_INSTS \\sq{Type, Synchronous function, Notification, none (synchronous function)}",
"func":1
},
{
"ref":"ida_dbg.set_bblk_trace_options",
"url":6,
"doc":"set_bblk_trace_options(options) Modify basic block tracing options (see BT_LOG_INSTS) @param options: (C : int)",
"func":1
},
{
"ref":"ida_dbg.request_set_bblk_trace_options",
"url":6,
"doc":"request_set_bblk_trace_options(options) Post a set_bblk_trace_options() request. @param options: (C : int)",
"func":1
},
{
"ref":"ida_dbg.tev_none",
"url":6,
"doc":"no event"
},
{
"ref":"ida_dbg.tev_insn",
"url":6,
"doc":"an instruction trace"
},
{
"ref":"ida_dbg.tev_call",
"url":6,
"doc":"a function call trace"
},
{
"ref":"ida_dbg.tev_ret",
"url":6,
"doc":"a function return trace"
},
{
"ref":"ida_dbg.tev_bpt",
"url":6,
"doc":"write, read/write, execution trace"
},
{
"ref":"ida_dbg.tev_mem",
"url":6,
"doc":"memory layout changed"
},
{
"ref":"ida_dbg.tev_event",
"url":6,
"doc":"debug event occurred"
},
{
"ref":"ida_dbg.tev_max",
"url":6,
"doc":"first unused event type"
},
{
"ref":"ida_dbg.tev_info_t",
"url":6,
"doc":"Proxy of C tev_info_t class. __init__(self) -> tev_info_t"
},
{
"ref":"ida_dbg.tev_info_t.thisown",
"url":6,
"doc":"The membership flag"
},
{
"ref":"ida_dbg.tev_info_t.type",
"url":6,
"doc":"trace event type"
},
{
"ref":"ida_dbg.tev_info_t.tid",
"url":6,
"doc":"thread where the event was recorded"
},
{
"ref":"ida_dbg.tev_info_t.ea",
"url":6,
"doc":"address where the event occurred"
},
{
"ref":"ida_dbg.memreg_info_t",
"url":6,
"doc":"Proxy of C memreg_info_t class. __init__(self) -> memreg_info_t"
},
{
"ref":"ida_dbg.memreg_info_t.thisown",
"url":6,
"doc":"The membership flag"
},
{
"ref":"ida_dbg.memreg_info_t.ea",
"url":6,
"doc":"ea"
},
{
"ref":"ida_dbg.memreg_info_t.get_bytes",
"url":6,
"doc":"get_bytes(self) -> PyObject  ",
"func":1
},
{
"ref":"ida_dbg.memreg_info_t.bytes",
"url":6,
"doc":"get_bytes(self) -> PyObject  "
},
{
"ref":"ida_dbg.get_tev_qty",
"url":6,
"doc":"get_tev_qty() -> int Get number of trace events available in trace buffer. \\sq{Type, Synchronous function, Notification, none (synchronous function)}",
"func":1
},
{
"ref":"ida_dbg.get_tev_info",
"url":6,
"doc":"get_tev_info(n, tev_info) -> bool Get main information about a trace event. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param n: (C : int) number of trace event, is in range 0 get_tev_qty()-1. 0 represents the latest added trace event. @param tev_info: (C : tev_info_t  ) result @return: success",
"func":1
},
{
"ref":"ida_dbg.get_insn_tev_reg_val",
"url":6,
"doc":"get_insn_tev_reg_val(n, regname, regval) -> bool @param n: int @param regname: char const  @param regval: regval_t  ",
"func":1
},
{
"ref":"ida_dbg.get_insn_tev_reg_mem",
"url":6,
"doc":"get_insn_tev_reg_mem(n, memmap) -> bool Read the memory pointed by register values from an instruction trace event. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param n: (C : int) number of trace event, is in range 0 get_tev_qty()-1. 0 represents the latest added trace event. @param memmap: (C : memreg_infos_t  ) result @return: false if not an instruction event or no memory is available",
"func":1
},
{
"ref":"ida_dbg.get_insn_tev_reg_result",
"url":6,
"doc":"get_insn_tev_reg_result(n, regname, regval) -> bool @param n: int @param regname: char const  @param regval: regval_t  ",
"func":1
},
{
"ref":"ida_dbg.get_call_tev_callee",
"url":6,
"doc":"get_call_tev_callee(n) -> ea_t Get the called function from a function call trace event. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param n: (C : int) number of trace event, is in range 0 get_tev_qty()-1. 0 represents the latest added trace event. @return: BADADDR if not a function call event.",
"func":1
},
{
"ref":"ida_dbg.get_ret_tev_return",
"url":6,
"doc":"get_ret_tev_return(n) -> ea_t Get the return address from a function return trace event. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param n: (C : int) number of trace event, is in range 0 get_tev_qty()-1. 0 represents the latest added trace event. @return: BADADDR if not a function return event.",
"func":1
},
{
"ref":"ida_dbg.get_bpt_tev_ea",
"url":6,
"doc":"get_bpt_tev_ea(n) -> ea_t Get the address associated to a read, read/write or execution trace event. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param n: (C : int) number of trace event, is in range 0 get_tev_qty()-1. 0 represents the latest added trace event. @return: BADADDR if not a read, read/write or execution trace event. @note: Usually, a breakpoint is associated with a read, read/write or execution trace event. However, the returned address could be any address in the range of this breakpoint. If the breakpoint was deleted after the trace event, the address no longer corresponds to a valid breakpoint.",
"func":1
},
{
"ref":"ida_dbg.get_tev_memory_info",
"url":6,
"doc":"get_tev_memory_info(n, mi) -> bool Get the memory layout, if any, for the specified tev object. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param n: (C : int) number of trace event, is in range 0 get_tev_qty()-1. 0 represents the latest added trace event. @param mi: (C : meminfo_vec_t  ) result @return: false if the tev_t object is not of type tev_mem, true otherwise, with the new memory layout in \"mi\".",
"func":1
},
{
"ref":"ida_dbg.get_tev_event",
"url":6,
"doc":"get_tev_event(n, d) -> bool Get the corresponding debug event, if any, for the specified tev object. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param n: (C : int) number of trace event, is in range 0 get_tev_qty()-1. 0 represents the latest added trace event. @param d: (C : debug_event_t  ) result @return: false if the tev_t object doesn't have any associated debug event, true otherwise, with the debug event in \"d\".",
"func":1
},
{
"ref":"ida_dbg.get_trace_base_address",
"url":6,
"doc":"get_trace_base_address() -> ea_t Get the base address of the current trace. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @return: the base address of the currently loaded trace",
"func":1
},
{
"ref":"ida_dbg.set_trace_base_address",
"url":6,
"doc":"set_trace_base_address(ea) Set the base address of the current trace. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_dbg.dbg_add_thread",
"url":6,
"doc":"dbg_add_thread(tid) Add a thread to the current trace. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param tid: (C : thid_t)",
"func":1
},
{
"ref":"ida_dbg.dbg_del_thread",
"url":6,
"doc":"dbg_del_thread(tid) Delete a thread from the current trace. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param tid: (C : thid_t)",
"func":1
},
{
"ref":"ida_dbg.dbg_add_tev",
"url":6,
"doc":"dbg_add_tev(type, tid, address) Add a new trace element to the current trace. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param type: (C : tev_type_t) enum tev_type_t @param tid: (C : thid_t) @param address: (C : ea_t)",
"func":1
},
{
"ref":"ida_dbg.tev_reg_value_t",
"url":6,
"doc":"Proxy of C tev_reg_value_t class. __init__(self, _reg_idx=-1, _value=uint64(-1 -> tev_reg_value_t @param _reg_idx: int @param _value: uint64"
},
{
"ref":"ida_dbg.tev_reg_value_t.thisown",
"url":6,
"doc":"The membership flag"
},
{
"ref":"ida_dbg.tev_reg_value_t.value",
"url":6,
"doc":"value"
},
{
"ref":"ida_dbg.tev_reg_value_t.reg_idx",
"url":6,
"doc":"reg_idx"
},
{
"ref":"ida_dbg.tev_info_reg_t",
"url":6,
"doc":"Proxy of C tev_info_reg_t class. __init__(self) -> tev_info_reg_t"
},
{
"ref":"ida_dbg.tev_info_reg_t.thisown",
"url":6,
"doc":"The membership flag"
},
{
"ref":"ida_dbg.tev_info_reg_t.info",
"url":6,
"doc":"info"
},
{
"ref":"ida_dbg.tev_info_reg_t.registers",
"url":6,
"doc":"registers"
},
{
"ref":"ida_dbg.dbg_add_many_tevs",
"url":6,
"doc":"dbg_add_many_tevs(new_tevs) -> bool Add many new trace elements to the current trace. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param new_tevs: (C : tevinforeg_vec_t  ) @return: false if the operation failed for any tev_info_t object",
"func":1
},
{
"ref":"ida_dbg.dbg_add_insn_tev",
"url":6,
"doc":"dbg_add_insn_tev(tid, ea, save=SAVE_DIFF) -> bool Add a new instruction trace element to the current trace. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param tid: (C : thid_t) @param ea: (C : ea_t) @param save: (C : save_reg_values_t) enum save_reg_values_t @return: false if the operation failed, true otherwise",
"func":1
},
{
"ref":"ida_dbg.dbg_add_bpt_tev",
"url":6,
"doc":"dbg_add_bpt_tev(tid, ea, bp) -> bool Add a new breakpoint trace element to the current trace. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param tid: (C : thid_t) @param ea: (C : ea_t) @param bp: (C : ea_t) @return: false if the operation failed, true otherwise",
"func":1
},
{
"ref":"ida_dbg.dbg_add_call_tev",
"url":6,
"doc":"dbg_add_call_tev(tid, caller, callee) Add a new call trace element to the current trace. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param tid: (C : thid_t) @param caller: (C : ea_t) @param callee: (C : ea_t)",
"func":1
},
{
"ref":"ida_dbg.dbg_add_ret_tev",
"url":6,
"doc":"dbg_add_ret_tev(tid, ret_insn, return_to) Add a new return trace element to the current trace. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param tid: (C : thid_t) @param ret_insn: (C : ea_t) @param return_to: (C : ea_t)",
"func":1
},
{
"ref":"ida_dbg.dbg_add_debug_event",
"url":6,
"doc":"dbg_add_debug_event(event) Add a new debug event to the current trace. \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param event: (C : debug_event_t  )",
"func":1
},
{
"ref":"ida_dbg.load_trace_file",
"url":6,
"doc":"load_trace_file(filename) -> str Load a recorded trace file in the 'Tracing' window. If the call succeeds and 'buf' is not null, the description of the trace stored in the binary trace file will be returned in 'buf' @param filename: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_dbg.save_trace_file",
"url":6,
"doc":"save_trace_file(filename, description) -> bool Save the current trace in the specified file. @param filename: (C : const char  ) char const  @param description: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_dbg.is_valid_trace_file",
"url":6,
"doc":"is_valid_trace_file(filename) -> bool Is the specified file a valid trace file for the current database? @param filename: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_dbg.set_trace_file_desc",
"url":6,
"doc":"set_trace_file_desc(filename, description) -> bool Change the description of the specified trace file. @param filename: (C : const char  ) char const  @param description: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_dbg.get_trace_file_desc",
"url":6,
"doc":"get_trace_file_desc(filename) -> str Get the file header of the specified trace file. @param filename: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_dbg.choose_trace_file",
"url":6,
"doc":"choose_trace_file() -> str Show the choose trace dialog.",
"func":1
},
{
"ref":"ida_dbg.diff_trace_file",
"url":6,
"doc":"diff_trace_file(NONNULL_filename) -> bool Show difference between the current trace and the one from 'filename'. @param NONNULL_filename: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_dbg.graph_trace",
"url":6,
"doc":"graph_trace() -> bool Show the trace callgraph.",
"func":1
},
{
"ref":"ida_dbg.set_highlight_trace_options",
"url":6,
"doc":"set_highlight_trace_options(hilight, color, diff) Set highlight trace parameters. @param hilight: (C : bool) @param color: (C : bgcolor_t) @param diff: (C : bgcolor_t)",
"func":1
},
{
"ref":"ida_dbg.set_trace_platform",
"url":6,
"doc":"set_trace_platform(platform) Set platform name of current trace. @param platform: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_dbg.get_trace_platform",
"url":6,
"doc":"get_trace_platform() -> char const  Get platform name of current trace.",
"func":1
},
{
"ref":"ida_dbg.set_trace_dynamic_register_set",
"url":6,
"doc":"set_trace_dynamic_register_set(idaregs) Set dynamic register set of current trace. @param idaregs: (C : dynamic_register_set_t &)",
"func":1
},
{
"ref":"ida_dbg.get_trace_dynamic_register_set",
"url":6,
"doc":"get_trace_dynamic_register_set(idaregs) Get dynamic register set of current trace. @param idaregs: (C : dynamic_register_set_t  )",
"func":1
},
{
"ref":"ida_dbg.DEC_NOTASK",
"url":6,
"doc":"process does not exist"
},
{
"ref":"ida_dbg.DEC_ERROR",
"url":6,
"doc":"error"
},
{
"ref":"ida_dbg.DEC_TIMEOUT",
"url":6,
"doc":"timeout"
},
{
"ref":"ida_dbg.WFNE_ANY",
"url":6,
"doc":"return the first event (even if it doesn't suspend the process)"
},
{
"ref":"ida_dbg.WFNE_SUSP",
"url":6,
"doc":"wait until the process gets suspended"
},
{
"ref":"ida_dbg.WFNE_SILENT",
"url":6,
"doc":"1: be silent, 0:display modal boxes if necessary"
},
{
"ref":"ida_dbg.WFNE_CONT",
"url":6,
"doc":"continue from the suspended state"
},
{
"ref":"ida_dbg.WFNE_NOWAIT",
"url":6,
"doc":"do not wait for any event, immediately return DEC_TIMEOUT (to be used with WFNE_CONT)"
},
{
"ref":"ida_dbg.WFNE_USEC",
"url":6,
"doc":"timeout is specified in microseconds (minimum non-zero timeout is 40000us)"
},
{
"ref":"ida_dbg.DOPT_SEGM_MSGS",
"url":6,
"doc":"log debugger segments modifications"
},
{
"ref":"ida_dbg.DOPT_START_BPT",
"url":6,
"doc":"break on process start"
},
{
"ref":"ida_dbg.DOPT_THREAD_MSGS",
"url":6,
"doc":"log thread starts/exits"
},
{
"ref":"ida_dbg.DOPT_THREAD_BPT",
"url":6,
"doc":"break on thread start/exit"
},
{
"ref":"ida_dbg.DOPT_BPT_MSGS",
"url":6,
"doc":"log breakpoints"
},
{
"ref":"ida_dbg.DOPT_LIB_MSGS",
"url":6,
"doc":"log library loads/unloads"
},
{
"ref":"ida_dbg.DOPT_LIB_BPT",
"url":6,
"doc":"break on library load/unload"
},
{
"ref":"ida_dbg.DOPT_INFO_MSGS",
"url":6,
"doc":"log debugging info events"
},
{
"ref":"ida_dbg.DOPT_INFO_BPT",
"url":6,
"doc":"break on debugging information"
},
{
"ref":"ida_dbg.DOPT_REAL_MEMORY",
"url":6,
"doc":"do not hide breakpoint instructions"
},
{
"ref":"ida_dbg.DOPT_REDO_STACK",
"url":6,
"doc":"reconstruct the stack"
},
{
"ref":"ida_dbg.DOPT_ENTRY_BPT",
"url":6,
"doc":"break on program entry point"
},
{
"ref":"ida_dbg.DOPT_EXCDLG",
"url":6,
"doc":"exception dialogs:"
},
{
"ref":"ida_dbg.EXCDLG_NEVER",
"url":6,
"doc":"never display exception dialogs"
},
{
"ref":"ida_dbg.EXCDLG_UNKNOWN",
"url":6,
"doc":"display for unknown exceptions"
},
{
"ref":"ida_dbg.EXCDLG_ALWAYS",
"url":6,
"doc":"always display"
},
{
"ref":"ida_dbg.DOPT_LOAD_DINFO",
"url":6,
"doc":"automatically load debug files (pdb)"
},
{
"ref":"ida_dbg.DOPT_END_BPT",
"url":6,
"doc":"evaluate event condition on process end"
},
{
"ref":"ida_dbg.DOPT_TEMP_HWBPT",
"url":6,
"doc":"when possible use hardware bpts for temp bpts"
},
{
"ref":"ida_dbg.DOPT_FAST_STEP",
"url":6,
"doc":"prevent debugger memory refreshes when single-stepping"
},
{
"ref":"ida_dbg.DOPT_DISABLE_ASLR",
"url":6,
"doc":"disable ASLR"
},
{
"ref":"ida_dbg.wait_for_next_event",
"url":6,
"doc":"wait_for_next_event(wfne, timeout) -> dbg_event_code_t Wait for the next event. This function (optionally) resumes the process execution, and waits for a debugger event until a possible timeout occurs. @param wfne: (C : int) combination of Wait for debugger event flags constants @param timeout: (C : int) number of seconds to wait, -1-infinity @return: either an event_id_t (if > 0), or a dbg_event_code_t (if <= 0)",
"func":1
},
{
"ref":"ida_dbg.get_debug_event",
"url":6,
"doc":"get_debug_event() -> debug_event_t Get the current debugger event.",
"func":1
},
{
"ref":"ida_dbg.set_debugger_options",
"url":6,
"doc":"set_debugger_options(options) -> uint Set debugger options. Replaces debugger options with the specification combination Debugger options @param options: (C : uint) @return: the old debugger options",
"func":1
},
{
"ref":"ida_dbg.set_remote_debugger",
"url":6,
"doc":"set_remote_debugger(host, _pass, port=-1) Set remote debugging options. Should be used before starting the debugger. @param host: (C : const char  ) If empty, IDA will use local debugger. If nullptr, the host will not be set. @param pass: (C : const char  ) If nullptr, the password will not be set @param port: (C : int) If -1, the default port number will be used",
"func":1
},
{
"ref":"ida_dbg.get_process_options",
"url":6,
"doc":"get_process_options() Get process options. Any of the arguments may be nullptr",
"func":1
},
{
"ref":"ida_dbg.set_process_options",
"url":6,
"doc":"set_process_options(path, args, sdir, host, _pass, port) Set process options. Any of the arguments may be nullptr, which means 'do not modify' @param path: (C : const char  ) char const  @param args: (C : const char  ) char const  @param sdir: (C : const char  ) char const  @param host: (C : const char  ) char const  @param pass: (C : const char  ) char const  @param port: (C : int)",
"func":1
},
{
"ref":"ida_dbg.retrieve_exceptions",
"url":6,
"doc":"retrieve_exceptions() -> excvec_t Retrieve the exception information. You may freely modify the returned vector and add/edit/delete exceptions You must call store_exceptions() after any modifications Note: exceptions with code zero, multiple exception codes or names are prohibited",
"func":1
},
{
"ref":"ida_dbg.store_exceptions",
"url":6,
"doc":"store_exceptions() -> bool Update the exception information stored in the debugger module by invoking its dbg->set_exception_info callback",
"func":1
},
{
"ref":"ida_dbg.define_exception",
"url":6,
"doc":"define_exception(code, name, desc, flags) -> char const  Convenience function: define new exception code. @param code: (C : uint) exception code (cannot be 0) @param name: (C : const char  ) exception name (cannot be empty or nullptr) @param desc: (C : const char  ) exception description (maybe nullptr) @param flags: (C : int) combination of Exception info flags @return: failure message or nullptr. You must call store_exceptions() if this function succeeds",
"func":1
},
{
"ref":"ida_dbg.eval_ctx_t",
"url":6,
"doc":"Proxy of C eval_ctx_t class. __init__(self, _ea) -> eval_ctx_t @param _ea: ea_t"
},
{
"ref":"ida_dbg.eval_ctx_t.thisown",
"url":6,
"doc":"The membership flag"
},
{
"ref":"ida_dbg.eval_ctx_t.ea",
"url":6,
"doc":"ea"
},
{
"ref":"ida_dbg.SRCIT_NONE",
"url":6,
"doc":"unknown"
},
{
"ref":"ida_dbg.SRCIT_MODULE",
"url":6,
"doc":"module"
},
{
"ref":"ida_dbg.SRCIT_FUNC",
"url":6,
"doc":"function"
},
{
"ref":"ida_dbg.SRCIT_STMT",
"url":6,
"doc":"a statement (if/while/for .)"
},
{
"ref":"ida_dbg.SRCIT_EXPR",
"url":6,
"doc":"an expression (a+b c)"
},
{
"ref":"ida_dbg.SRCIT_STTVAR",
"url":6,
"doc":"static variable/code"
},
{
"ref":"ida_dbg.SRCIT_LOCVAR",
"url":6,
"doc":"a stack, register, or register-relative local variable or parameter"
},
{
"ref":"ida_dbg.create_source_viewer",
"url":6,
"doc":"create_source_viewer(out_ccv, parent, custview, sf, lines, lnnum, colnum, flags) -> source_view_t  Create a source code view. @param out_ccv: (C : TWidget  ) @param parent: (C : TWidget  ) @param custview: (C : TWidget  ) @param sf: (C : source_file_ptr) @param lines: (C : strvec_t  ) @param lnnum: (C : int) @param colnum: (C : int) @param flags: (C : int)",
"func":1
},
{
"ref":"ida_dbg.get_dbg_byte",
"url":6,
"doc":"get_dbg_byte(ea) -> bool Get one byte of the debugged process memory. @param ea: (C : ea_t) linear address @return: true success false address inaccessible or debugger not running",
"func":1
},
{
"ref":"ida_dbg.put_dbg_byte",
"url":6,
"doc":"put_dbg_byte(ea, x) -> bool Change one byte of the debugged process memory. @param ea: (C : ea_t) linear address @param x: (C : uint32) byte value @return: true if the process memory has been modified",
"func":1
},
{
"ref":"ida_dbg.invalidate_dbgmem_config",
"url":6,
"doc":"invalidate_dbgmem_config() Invalidate the debugged process memory configuration. Call this function if the debugged process might have changed its memory layout (allocated more memory, for example)",
"func":1
},
{
"ref":"ida_dbg.invalidate_dbgmem_contents",
"url":6,
"doc":"invalidate_dbgmem_contents(ea, size) Invalidate the debugged process memory contents. Call this function each time the process has been stopped or the process memory is modified. If ea  BADADDR, then the whole memory contents will be invalidated @param ea: (C : ea_t) @param size: (C : asize_t)",
"func":1
},
{
"ref":"ida_dbg.is_debugger_on",
"url":6,
"doc":"is_debugger_on() -> bool Is the debugger currently running?",
"func":1
},
{
"ref":"ida_dbg.is_debugger_memory",
"url":6,
"doc":"is_debugger_memory(ea) -> bool Is the address mapped to debugger memory? @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_dbg.get_tev_ea",
"url":6,
"doc":"get_tev_ea(n) -> ea_t @param n: int",
"func":1
},
{
"ref":"ida_dbg.get_tev_type",
"url":6,
"doc":"get_tev_type(n) -> int @param n: int",
"func":1
},
{
"ref":"ida_dbg.get_tev_tid",
"url":6,
"doc":"get_tev_tid(n) -> int @param n: int",
"func":1
},
{
"ref":"ida_dbg.bring_debugger_to_front",
"url":6,
"doc":"bring_debugger_to_front()",
"func":1
},
{
"ref":"ida_dbg.set_manual_regions",
"url":6,
"doc":"set_manual_regions(ranges) @param ranges: meminfo_vec_t const  ",
"func":1
},
{
"ref":"ida_dbg.edit_manual_regions",
"url":6,
"doc":"edit_manual_regions()",
"func":1
},
{
"ref":"ida_dbg.enable_manual_regions",
"url":6,
"doc":"enable_manual_regions(enable) @param enable: bool",
"func":1
},
{
"ref":"ida_dbg.handle_debug_event",
"url":6,
"doc":"handle_debug_event(ev, rqflags) -> int @param ev: debug_event_t const  @param rqflags: int",
"func":1
},
{
"ref":"ida_dbg.add_virt_module",
"url":6,
"doc":"add_virt_module(mod) -> bool @param mod: modinfo_t const  ",
"func":1
},
{
"ref":"ida_dbg.del_virt_module",
"url":6,
"doc":"del_virt_module(base) -> bool @param base: ea_t const",
"func":1
},
{
"ref":"ida_dbg.internal_ioctl",
"url":6,
"doc":"internal_ioctl(fn, buf, poutbuf, poutsize) -> int @param fn: int @param buf: void const  @param poutbuf: void  @param poutsize: ssize_t  ",
"func":1
},
{
"ref":"ida_dbg.get_dbg_memory_info",
"url":6,
"doc":"get_dbg_memory_info(ranges) -> int @param ranges: meminfo_vec_t  ",
"func":1
},
{
"ref":"ida_dbg.set_bpt_group",
"url":6,
"doc":"set_bpt_group(bpt, grp_name) -> bool Move a bpt into a folder in the breakpoint dirtree if the folder didn't exists, it will be created \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param bpt: (C : bpt_t &) bpt that will be moved @param grp_name: (C : const char  ) absolute path to the breakpoint dirtree folder @return: success",
"func":1
},
{
"ref":"ida_dbg.set_bptloc_group",
"url":6,
"doc":"set_bptloc_group(bptloc, grp_name) -> bool Move a bpt into a folder in the breakpoint dirtree based on the bpt_location find_bpt is called to retrieve the bpt and then set_bpt_group if the folder didn't exists, it will be created \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param bptloc: (C : const bpt_location_t &) bptlocation of the bpt that will be moved @param grp_name: (C : const char  ) absolute path to the breakpoint dirtree folder @return: success",
"func":1
},
{
"ref":"ida_dbg.get_bpt_group",
"url":6,
"doc":"get_bpt_group(bptloc) -> str Retrieve the absolute path to the folder of the bpt based on the bpt_location find_bpt is called to retrieve the bpt \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param bptloc: (C : const bpt_location_t &) bptlocation of the bpt @return: breakpoint correclty moved to the directory success",
"func":1
},
{
"ref":"ida_dbg.rename_bptgrp",
"url":6,
"doc":"rename_bptgrp(old_name, new_name) -> bool Rename a folder of bpt dirtree \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param old_name: (C : const char  ) absolute path to the folder to be renamed @param new_name: (C : const char  ) absolute path of the new folder name @return: success",
"func":1
},
{
"ref":"ida_dbg.del_bptgrp",
"url":6,
"doc":"del_bptgrp(name) -> bool Delete a folder, bpt that were part of this folder are moved to the root folder \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param name: (C : const char  ) full path to the folder to be deleted @return: success",
"func":1
},
{
"ref":"ida_dbg.get_grp_bpts",
"url":6,
"doc":"get_grp_bpts(bpts, grp_name) -> ssize_t Retrieve a copy the bpts stored in a folder \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param bpts: (C : bpt_vec_t  ) : pointer to a vector where the copy of bpts are stored @param grp_name: (C : const char  ) absolute path to the folder @return: number of bpts present in the vector",
"func":1
},
{
"ref":"ida_dbg.enable_bptgrp",
"url":6,
"doc":"enable_bptgrp(bptgrp_name, enable=True) -> int Enable (or disable) all bpts in a folder \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param bptgrp_name: (C : const char  ) absolute path to the folder @param enable: (C : bool) by default true, enable bpts, false disable bpts @return: -1 an error occured 0 no changes >0 nubmers of bpts udpated",
"func":1
},
{
"ref":"ida_dbg.get_local_vars",
"url":6,
"doc":"get_local_vars(prov, ea, out) -> bool @param prov: srcinfo_provider_t  @param ea: ea_t @param out: source_items_t  ",
"func":1
},
{
"ref":"ida_dbg.srcdbg_request_step_into",
"url":6,
"doc":"srcdbg_request_step_into() -> bool",
"func":1
},
{
"ref":"ida_dbg.srcdbg_request_step_over",
"url":6,
"doc":"srcdbg_request_step_over() -> bool",
"func":1
},
{
"ref":"ida_dbg.srcdbg_request_step_until_ret",
"url":6,
"doc":"srcdbg_request_step_until_ret() -> bool",
"func":1
},
{
"ref":"ida_dbg.hide_all_bpts",
"url":6,
"doc":"hide_all_bpts() -> int",
"func":1
},
{
"ref":"ida_dbg.read_dbg_memory",
"url":6,
"doc":"read_dbg_memory(ea, buffer, size) -> ssize_t @param ea: ea_t @param buffer: void  @param size: size_t",
"func":1
},
{
"ref":"ida_dbg.get_module_info",
"url":6,
"doc":"get_module_info(ea, modinfo) -> bool @param ea: ea_t @param modinfo: modinfo_t  ",
"func":1
},
{
"ref":"ida_dbg.dbg_bin_search",
"url":6,
"doc":"dbg_bin_search(start_ea, end_ea, data, srch_flags) -> str @param start_ea: ea_t @param end_ea: ea_t @param data: compiled_binpat_vec_t const & @param srch_flags: int",
"func":1
},
{
"ref":"ida_dbg.load_debugger",
"url":6,
"doc":"load_debugger(dbgname, use_remote) -> bool @param dbgname: char const  @param use_remote: bool",
"func":1
},
{
"ref":"ida_dbg.collect_stack_trace",
"url":6,
"doc":"collect_stack_trace(tid, trace) -> bool @param tid: thid_t @param trace: call_stack_t  ",
"func":1
},
{
"ref":"ida_dbg.get_global_var",
"url":6,
"doc":"get_global_var(prov, ea, name, out) -> bool @param prov: srcinfo_provider_t  @param ea: ea_t @param name: char const  @param out: source_item_ptr  ",
"func":1
},
{
"ref":"ida_dbg.get_local_var",
"url":6,
"doc":"get_local_var(prov, ea, name, out) -> bool @param prov: srcinfo_provider_t  @param ea: ea_t @param name: char const  @param out: source_item_ptr  ",
"func":1
},
{
"ref":"ida_dbg.get_srcinfo_provider",
"url":6,
"doc":"get_srcinfo_provider(name) -> srcinfo_provider_t  @param name: char const  ",
"func":1
},
{
"ref":"ida_dbg.get_current_source_file",
"url":6,
"doc":"get_current_source_file() -> str",
"func":1
},
{
"ref":"ida_dbg.get_current_source_line",
"url":6,
"doc":"get_current_source_line() -> int",
"func":1
},
{
"ref":"ida_dbg.add_path_mapping",
"url":6,
"doc":"add_path_mapping(src, dst) @param src: char const  @param dst: char const  ",
"func":1
},
{
"ref":"ida_dbg.srcdbg_step_into",
"url":6,
"doc":"srcdbg_step_into() -> bool",
"func":1
},
{
"ref":"ida_dbg.srcdbg_step_over",
"url":6,
"doc":"srcdbg_step_over() -> bool",
"func":1
},
{
"ref":"ida_dbg.srcdbg_step_until_ret",
"url":6,
"doc":"srcdbg_step_until_ret() -> bool",
"func":1
},
{
"ref":"ida_dbg.set_debugger_event_cond",
"url":6,
"doc":"set_debugger_event_cond(NONNULL_evcond) @param NONNULL_evcond: char const  ",
"func":1
},
{
"ref":"ida_dbg.get_debugger_event_cond",
"url":6,
"doc":"get_debugger_event_cond() -> char const  ",
"func":1
},
{
"ref":"ida_dbg.get_manual_regions",
"url":6,
"doc":"get_manual_regions(ranges) Returns the manual memory regions @param ranges: meminfo_vec_t  @return: list(start_ea, end_ea, name, sclass, sbase, bitness, perm) get_manual_regions() -> [(int, int, str, str, int, int, int),  .] or None",
"func":1
},
{
"ref":"ida_dbg.dbg_is_loaded",
"url":6,
"doc":"dbg_is_loaded() -> bool Checks if a debugger is loaded @return: Boolean",
"func":1
},
{
"ref":"ida_dbg.refresh_debugger_memory",
"url":6,
"doc":"refresh_debugger_memory() -> PyObject  Refreshes the debugger memory @return: Nothing",
"func":1
},
{
"ref":"ida_dbg.DBG_Hooks",
"url":6,
"doc":"Proxy of C DBG_Hooks class. __init__(self, _flags=0, _hkcb_flags=0x0001) -> DBG_Hooks @param _flags: uint32 @param _hkcb_flags: uint32"
},
{
"ref":"ida_dbg.DBG_Hooks.thisown",
"url":6,
"doc":"The membership flag"
},
{
"ref":"ida_dbg.DBG_Hooks.hook",
"url":6,
"doc":"hook(self) -> bool",
"func":1
},
{
"ref":"ida_dbg.DBG_Hooks.unhook",
"url":6,
"doc":"unhook(self) -> bool",
"func":1
},
{
"ref":"ida_dbg.DBG_Hooks.dbg_process_start",
"url":6,
"doc":"dbg_process_start(self, pid, tid, ea, modinfo_name, modinfo_base, modinfo_size) @param event: (const debug_event_t  ) @note: This event notification is also an asynchronous function result notification for start_process() ! @param tid: thid_t @param ea: ea_t @param modinfo_name: char const  @param modinfo_base: ea_t @param modinfo_size: asize_t",
"func":1
},
{
"ref":"ida_dbg.DBG_Hooks.dbg_process_exit",
"url":6,
"doc":"dbg_process_exit(self, pid, tid, ea, exit_code) @param event: (const debug_event_t  ) @note: This event notification is also an asynchronous function result notification for start_process() ! @param tid: thid_t @param ea: ea_t @param exit_code: int",
"func":1
},
{
"ref":"ida_dbg.DBG_Hooks.dbg_process_attach",
"url":6,
"doc":"dbg_process_attach(self, pid, tid, ea, modinfo_name, modinfo_base, modinfo_size) @param event: (const debug_event_t  ) @note: This event notification is also an asynchronous function result notification for start_process() ! @param tid: thid_t @param ea: ea_t @param modinfo_name: char const  @param modinfo_base: ea_t @param modinfo_size: asize_t",
"func":1
},
{
"ref":"ida_dbg.DBG_Hooks.dbg_process_detach",
"url":6,
"doc":"dbg_process_detach(self, pid, tid, ea) @param event: (const debug_event_t  ) @note: This event notification is also an asynchronous function result notification for start_process() ! @param tid: thid_t @param ea: ea_t",
"func":1
},
{
"ref":"ida_dbg.DBG_Hooks.dbg_thread_start",
"url":6,
"doc":"dbg_thread_start(self, pid, tid, ea) @param event: (const debug_event_t  ) @param tid: thid_t @param ea: ea_t",
"func":1
},
{
"ref":"ida_dbg.DBG_Hooks.dbg_thread_exit",
"url":6,
"doc":"dbg_thread_exit(self, pid, tid, ea, exit_code) @param event: (const debug_event_t  ) @param tid: thid_t @param ea: ea_t @param exit_code: int",
"func":1
},
{
"ref":"ida_dbg.DBG_Hooks.dbg_library_load",
"url":6,
"doc":"dbg_library_load(self, pid, tid, ea, modinfo_name, modinfo_base, modinfo_size) @param event: (const debug_event_t  ) @param tid: thid_t @param ea: ea_t @param modinfo_name: char const  @param modinfo_base: ea_t @param modinfo_size: asize_t",
"func":1
},
{
"ref":"ida_dbg.DBG_Hooks.dbg_library_unload",
"url":6,
"doc":"dbg_library_unload(self, pid, tid, ea, info) @param event: (const debug_event_t  ) @param tid: thid_t @param ea: ea_t @param info: char const  ",
"func":1
},
{
"ref":"ida_dbg.DBG_Hooks.dbg_information",
"url":6,
"doc":"dbg_information(self, pid, tid, ea, info) @param event: (const debug_event_t  ) @param tid: thid_t @param ea: ea_t @param info: char const  ",
"func":1
},
{
"ref":"ida_dbg.DBG_Hooks.dbg_exception",
"url":6,
"doc":"dbg_exception(self, pid, tid, ea, exc_code, exc_can_cont, exc_ea, exc_info) -> int @param event: (const debug_event_t  ) @param warn: (int  ) filled with:  -1: display an exception warning dialog if the process is suspended.  0: never display an exception warning dialog.  1: always display an exception warning dialog. @param ea: ea_t @param exc_code: int @param exc_can_cont: bool @param exc_ea: ea_t @param exc_info: char const  ",
"func":1
},
{
"ref":"ida_dbg.DBG_Hooks.dbg_suspend_process",
"url":6,
"doc":"dbg_suspend_process(self) The process is now suspended.",
"func":1
},
{
"ref":"ida_dbg.DBG_Hooks.dbg_bpt",
"url":6,
"doc":"dbg_bpt(self, tid, bptea) -> int A user defined breakpoint was reached. @param tid: (thid_t) @param bptea: ( ea_t)",
"func":1
},
{
"ref":"ida_dbg.DBG_Hooks.dbg_trace",
"url":6,
"doc":"dbg_trace(self, tid, ip) -> int A step occurred (one instruction was executed). This event notification is only generated if step tracing is enabled. @param tid: (thid_t) thread ID @param ip: ( ea_t) current instruction pointer. usually points after the executed instruction @retval 1: do not log this trace event @retval 0: log it",
"func":1
},
{
"ref":"ida_dbg.DBG_Hooks.dbg_request_error",
"url":6,
"doc":"dbg_request_error(self, failed_command, failed_dbg_notification) An error occurred during the processing of a request. @param failed_command: (ui_notification_t) @param failed_dbg_notification: (dbg_notification_t)",
"func":1
},
{
"ref":"ida_dbg.DBG_Hooks.dbg_step_into",
"url":6,
"doc":"dbg_step_into(self)",
"func":1
},
{
"ref":"ida_dbg.DBG_Hooks.dbg_step_over",
"url":6,
"doc":"dbg_step_over(self)",
"func":1
},
{
"ref":"ida_dbg.DBG_Hooks.dbg_run_to",
"url":6,
"doc":"dbg_run_to(self, pid, tid, ea) @param event: (const debug_event_t  ) @param tid: thid_t @param ea: ea_t",
"func":1
},
{
"ref":"ida_dbg.DBG_Hooks.dbg_step_until_ret",
"url":6,
"doc":"dbg_step_until_ret(self)",
"func":1
},
{
"ref":"ida_dbg.DBG_Hooks.dbg_bpt_changed",
"url":6,
"doc":"dbg_bpt_changed(self, bptev_code, bpt) Breakpoint has been changed. @param bptev_code: (int) Breakpoint modification events @param bpt: (bpt_t  )",
"func":1
},
{
"ref":"ida_dbg.DBG_Hooks.dbg_started_loading_bpts",
"url":6,
"doc":"dbg_started_loading_bpts(self) Started loading breakpoint info from idb.",
"func":1
},
{
"ref":"ida_dbg.DBG_Hooks.dbg_finished_loading_bpts",
"url":6,
"doc":"dbg_finished_loading_bpts(self) Finished loading breakpoint info from idb.",
"func":1
},
{
"ref":"ida_dbg.list_bptgrps",
"url":6,
"doc":"list_bptgrps(bptgrps) -> size_t Retrieve the list of absolute path of all folders of bpt dirtree \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param bptgrps: (C : qstrvec_t  ) list of absolute path in the bpt dirtree @return: number of folders returned list_bptgrps() -> [str,  .]",
"func":1
},
{
"ref":"ida_dbg.internal_get_sreg_base",
"url":6,
"doc":"internal_get_sreg_base(tid, sreg_value) -> ea_t Get the sreg base, for the given thread. @param tid: thid_t @param sreg_value: int @return: The sreg base, or BADADDR on failure.",
"func":1
},
{
"ref":"ida_dbg.write_dbg_memory",
"url":6,
"doc":"write_dbg_memory(ea, py_buf, size=size_t(-1 -> ssize_t @param ea: ea_t @param py_buf: PyObject  @param size: size_t",
"func":1
},
{
"ref":"ida_dbg.dbg_can_query",
"url":6,
"doc":"dbg_can_query() -> bool This function can be used to check if the debugger can be queried: - debugger is loaded - process is suspended - process is not suspended but can take requests. In this case some requests like memory read/write, bpt management succeed and register querying will fail. Check if idaapi.get_process_state() < 0 to tell if the process is suspended @return: Boolean",
"func":1
},
{
"ref":"ida_dbg.set_reg_val",
"url":6,
"doc":"set_reg_val(regname, o) -> PyObject @param regname: char const  @param o: PyObject  set_reg_val(tid, regidx, o) -> bool, int @param tid: thid_t @param regidx: int @param o: PyObject  ",
"func":1
},
{
"ref":"ida_dbg.request_set_reg_val",
"url":6,
"doc":"request_set_reg_val(regname, o) -> PyObject  Post a set_reg_val() request. @param regname: (C : const char  ) char const  @param o: PyObject  ",
"func":1
},
{
"ref":"ida_dbg.get_reg_val",
"url":6,
"doc":"get_reg_val(regname, regval) -> bool Get register value as an unsigned 64-bit int. @param regname: (C : const char  ) char const  @param regval: regval_t  get_reg_val(regname, ival) -> bool @param regname: char const  @param ival: uint64  get_reg_val(regname) -> bool, float, int @param regname: char const  ",
"func":1
},
{
"ref":"ida_dbg.get_reg_vals",
"url":6,
"doc":"get_reg_vals(tid, clsmask=-1) -> regvals_t Fetch live registers values for the thread @param tid: The ID of the thread to read registers for @param clsmask: An OR'ed mask of register classes to read values for (can be used to speed up the retrieval process) @return: a regvals_t instance (empty if an error occurs)",
"func":1
},
{
"ref":"ida_dbg.get_tev_reg_val",
"url":6,
"doc":"",
"func":1
},
{
"ref":"ida_dbg.get_tev_reg_mem_qty",
"url":6,
"doc":"",
"func":1
},
{
"ref":"ida_dbg.get_tev_reg_mem",
"url":6,
"doc":"",
"func":1
},
{
"ref":"ida_dbg.get_tev_reg_mem_ea",
"url":6,
"doc":"",
"func":1
},
{
"ref":"ida_dbg.send_dbg_command",
"url":6,
"doc":"Send a direct command to the debugger backend, and retrieve the result as a string. Note: any double-quotes in 'command' must be backslash-escaped. Note: this only works with some debugger backends: Bochs, WinDbg, GDB. Returns: (True,  ) on success, or (False,  ) on failure",
"func":1
},
{
"ref":"ida_dbg.move_bpt_to_grp",
"url":6,
"doc":"set_bpt_group(bpt, grp_name) -> bool Move a bpt into a folder in the breakpoint dirtree if the folder didn't exists, it will be created \\sq{Type, Synchronous function, Notification, none (synchronous function)} @param bpt: (C : bpt_t &) bpt that will be moved @param grp_name: (C : const char  ) absolute path to the breakpoint dirtree folder @return: success",
"func":1
},
{
"ref":"ida_diskio",
"url":7,
"doc":"File I/O functions for IDA. You should not use standard C file I/O functions in modules. Use functions from this header, pro.h and fpro.h instead. This file also declares a call_system() function."
},
{
"ref":"ida_diskio.idadir",
"url":7,
"doc":"idadir(subdir) -> char const  Get IDA directory (if subdir nullptr) or the specified subdirectory (see IDA subdirectories) @param subdir: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_diskio.getsysfile",
"url":7,
"doc":"getsysfile(filename, subdir) -> str Search for IDA system file. This function searches for a file in: 1. each directory specified by IDAUSR% 2. ida directory [+ subdir] and returns the first match. @param filename: (C : const char  ) name of file to search @param subdir: (C : const char  ) if specified, the file is looked for in the specified subdirectory of the ida directory first (see IDA subdirectories) @return: nullptr if not found, otherwise a pointer to full file name.",
"func":1
},
{
"ref":"ida_diskio.get_user_idadir",
"url":7,
"doc":"get_user_idadir() -> char const  Get user ida related directory. - if $IDAUSR is defined: - the first element in $IDAUSR - else - default user directory ($HOME/.idapro or %APPDATA%Hex-Rays/IDA Pro)",
"func":1
},
{
"ref":"ida_diskio.get_ida_subdirs",
"url":7,
"doc":"get_ida_subdirs(subdir, flags=0) -> int Get list of directories in which to find a specific IDA resource (see IDA subdirectories). The order of the resulting list is as follows: - [$IDAUSR/subdir (0 N entries)] - $IDADIR/subdir @param subdir: (C : const char  ) name of the resource to list (can be nullptr) @param flags: (C : int) Subdirectory modification flags bits @return: number of directories appended to 'dirs'",
"func":1
},
{
"ref":"ida_diskio.IDA_SUBDIR_IDP",
"url":7,
"doc":"append the processor name as a subdirectory"
},
{
"ref":"ida_diskio.IDA_SUBDIR_IDADIR_FIRST",
"url":7,
"doc":"$IDADIR/subdir will be first, not last"
},
{
"ref":"ida_diskio.IDA_SUBDIR_ONLY_EXISTING",
"url":7,
"doc":"only existing directories will be present"
},
{
"ref":"ida_diskio.get_special_folder",
"url":7,
"doc":"get_special_folder(csidl) -> str Get a folder location by CSIDL (see Common CSIDLs). Path should be of at least MAX_PATH size @param csidl: (C : int)",
"func":1
},
{
"ref":"ida_diskio.file_enumerator_t",
"url":7,
"doc":"Proxy of C file_enumerator_t class. __init__(self) -> file_enumerator_t @param self: PyObject  "
},
{
"ref":"ida_diskio.file_enumerator_t.thisown",
"url":7,
"doc":"The membership flag"
},
{
"ref":"ida_diskio.file_enumerator_t.visit_file",
"url":7,
"doc":"visit_file(self, file) -> int @param file: char const  ",
"func":1
},
{
"ref":"ida_diskio.fopenWT",
"url":7,
"doc":"fopenWT(file) -> FILE  Open a new file for write in text mode, deny write. If a file exists, it will be removed. @param file: (C : const char  ) char const  @return: nullptr if failure",
"func":1
},
{
"ref":"ida_diskio.fopenWB",
"url":7,
"doc":"fopenWB(file) -> FILE  Open a new file for write in binary mode, deny read/write. If a file exists, it will be removed. @param file: (C : const char  ) char const  @return: nullptr if failure",
"func":1
},
{
"ref":"ida_diskio.fopenRT",
"url":7,
"doc":"fopenRT(file) -> FILE  Open a file for read in text mode, deny none. @param file: (C : const char  ) char const  @return: nullptr if failure",
"func":1
},
{
"ref":"ida_diskio.fopenRB",
"url":7,
"doc":"fopenRB(file) -> FILE  Open a file for read in binary mode, deny none. @param file: (C : const char  ) char const  @return: nullptr if failure",
"func":1
},
{
"ref":"ida_diskio.fopenM",
"url":7,
"doc":"fopenM(file) -> FILE  Open a file for read/write in binary mode, deny write. @param file: (C : const char  ) char const  @return: nullptr if failure",
"func":1
},
{
"ref":"ida_diskio.fopenA",
"url":7,
"doc":"fopenA(file) -> FILE  Open a file for append in text mode, deny none. @param file: (C : const char  ) char const  @return: nullptr if failure",
"func":1
},
{
"ref":"ida_diskio.ioports_fallback_t",
"url":7,
"doc":"Proxy of C ioports_fallback_t class. __init__(self) -> ioports_fallback_t @param self: PyObject  "
},
{
"ref":"ida_diskio.ioports_fallback_t.thisown",
"url":7,
"doc":"The membership flag"
},
{
"ref":"ida_diskio.ioports_fallback_t.handle",
"url":7,
"doc":"handle(self, ports, line) -> bool @param ports: (C : const ioports_t &) i/o port definitions @param line: (C : const char  ) input line to parse @return: success or fills ERRBUF with an error message",
"func":1
},
{
"ref":"ida_diskio.read_ioports",
"url":7,
"doc":"read_ioports(ports, device, file, callback=None) -> ssize_t @param ports: ioports_t  @param device: qstring  @param file: char const  @param callback: ioports_fallback_t  ",
"func":1
},
{
"ref":"ida_diskio.choose_ioport_parser_t",
"url":7,
"doc":"Proxy of C choose_ioport_parser_t class. __init__(self) -> choose_ioport_parser_t @param self: PyObject  "
},
{
"ref":"ida_diskio.choose_ioport_parser_t.thisown",
"url":7,
"doc":"The membership flag"
},
{
"ref":"ida_diskio.choose_ioport_parser_t.parse",
"url":7,
"doc":"parse(self, param, line) -> bool @retval true: and fill PARAM with a displayed string @retval false: and empty PARAM to skip the current device @retval false: and fill PARAM with an error message @param param: (C : qstring  ) @param line: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_diskio.choose_ioport_device2",
"url":7,
"doc":"choose_ioport_device2(_device, file, parse_params) -> bool @param _device: qstring  @param file: char const  @param parse_params: choose_ioport_parser_t  ",
"func":1
},
{
"ref":"ida_diskio.LINPUT_NONE",
"url":7,
"doc":"invalid linput"
},
{
"ref":"ida_diskio.LINPUT_LOCAL",
"url":7,
"doc":"local file"
},
{
"ref":"ida_diskio.LINPUT_RFILE",
"url":7,
"doc":"remote file ( debugger_t open_file, debugger_t read_file)"
},
{
"ref":"ida_diskio.LINPUT_PROCMEM",
"url":7,
"doc":"debugged process memory (read_dbg_memory( "
},
{
"ref":"ida_diskio.LINPUT_GENERIC",
"url":7,
"doc":"generic linput"
},
{
"ref":"ida_diskio.qlgetz",
"url":7,
"doc":"qlgetz(li, fpos) -> str Read a zero-terminated string from the input. If fpos  -1 then no seek will be performed. @param li: (C : linput_t  ) @param fpos: (C : int64)",
"func":1
},
{
"ref":"ida_diskio.open_linput",
"url":7,
"doc":"open_linput(file, remote) -> linput_t  Open loader input. @param file: (C : const char  ) char const  @param remote: (C : bool)",
"func":1
},
{
"ref":"ida_diskio.generic_linput_t",
"url":7,
"doc":"Proxy of C generic_linput_t class."
},
{
"ref":"ida_diskio.generic_linput_t.thisown",
"url":7,
"doc":"The membership flag"
},
{
"ref":"ida_diskio.generic_linput_t.filesize",
"url":7,
"doc":"input file size"
},
{
"ref":"ida_diskio.generic_linput_t.blocksize",
"url":7,
"doc":"preferred block size to work with read/write sizes will be in multiples of this number. for example, 4096 is a nice value blocksize 0 means that the filesize is unknown. the internal cache will be disabled in this case. also, seeks from the file end will fail. blocksize=-1 means error."
},
{
"ref":"ida_diskio.generic_linput_t.read",
"url":7,
"doc":"read(self, off, buffer, nbytes) -> ssize_t @param off: qoff64_t @param buffer: void  @param nbytes: size_t",
"func":1
},
{
"ref":"ida_diskio.create_generic_linput",
"url":7,
"doc":"create_generic_linput(gl) -> linput_t  Create a generic linput @param gl: (C : generic_linput_t  ) linput description. this object will be destroyed by close_linput() using \"delete gl;\"",
"func":1
},
{
"ref":"ida_diskio.create_memory_linput",
"url":7,
"doc":"create_memory_linput(start, size) -> linput_t  Create a linput for process memory. This linput will use read_dbg_memory() to read data. @param start: (C : ea_t) starting address of the input @param size: (C : asize_t) size of the memory area to represent as linput if unknown, may be passed as 0",
"func":1
},
{
"ref":"ida_diskio.get_linput_type",
"url":7,
"doc":"get_linput_type(li) -> linput_type_t Get linput type. @param li: (C : linput_t  )",
"func":1
},
{
"ref":"ida_diskio.enumerate_files",
"url":7,
"doc":"enumerate_files(path, fname, callback) -> PyObject  Enumerate files in the specified directory while the callback returns 0. @param path: directory to enumerate files in @param fname: mask of file names to enumerate @param callback: a callable object that takes the filename as its first argument and it returns 0 to continue enumeration or non-zero to stop enumeration. @return: None in case of script errors tuple(code, fname) : If the callback returns non-zero",
"func":1
},
{
"ref":"ida_diskio.create_bytearray_linput",
"url":7,
"doc":"create_bytearray_linput(s) -> linput_t  Trivial memory linput. @param s: qstring const &",
"func":1
},
{
"ref":"ida_diskio.close_linput",
"url":7,
"doc":"close_linput(li) Close loader input. @param li: (C : linput_t  )",
"func":1
},
{
"ref":"ida_dirtree",
"url":8,
"doc":"Types involved in grouping of item into folders. The dirtree_t class is used to organize a directory tree on top of any collection that allows for accessing its elements by an id (inode). No requirements are imposed on the inodes apart from the forbidden value -1 (used to denote a bad inode). The dirspec_t class is used to specialize the dirtree. It can be used to introduce a directory structure for:  local types  structs  enums  functions  names  etc @note: you should be manipulating dirtree_t (and, if implementing a new tree backend, dirspec_t) instances, not calling top-level functions in this file directly."
},
{
"ref":"ida_dirtree.direntry_vec_t",
"url":8,
"doc":"Proxy of C qvector class. __init__(self) -> direntry_vec_t __init__(self, x) -> direntry_vec_t @param x: qvector const &"
},
{
"ref":"ida_dirtree.direntry_vec_t.thisown",
"url":8,
"doc":"The membership flag"
},
{
"ref":"ida_dirtree.direntry_vec_t.push_back",
"url":8,
"doc":"push_back(self, x) @param x: direntry_t const & push_back(self) -> direntry_t",
"func":1
},
{
"ref":"ida_dirtree.direntry_vec_t.pop_back",
"url":8,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_dirtree.direntry_vec_t.size",
"url":8,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_dirtree.direntry_vec_t.empty",
"url":8,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_dirtree.direntry_vec_t.at",
"url":8,
"doc":"at(self, _idx) -> direntry_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_dirtree.direntry_vec_t.qclear",
"url":8,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_dirtree.direntry_vec_t.clear",
"url":8,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_dirtree.direntry_vec_t.resize",
"url":8,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: direntry_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_dirtree.direntry_vec_t.grow",
"url":8,
"doc":"grow(self, x=direntry_t( @param x: direntry_t const &",
"func":1
},
{
"ref":"ida_dirtree.direntry_vec_t.capacity",
"url":8,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_dirtree.direntry_vec_t.reserve",
"url":8,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_dirtree.direntry_vec_t.truncate",
"url":8,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_dirtree.direntry_vec_t.swap",
"url":8,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_dirtree.direntry_vec_t.extract",
"url":8,
"doc":"extract(self) -> direntry_t",
"func":1
},
{
"ref":"ida_dirtree.direntry_vec_t.inject",
"url":8,
"doc":"inject(self, s, len) @param s: direntry_t  @param len: size_t",
"func":1
},
{
"ref":"ida_dirtree.direntry_vec_t.begin",
"url":8,
"doc":"begin(self) -> direntry_t",
"func":1
},
{
"ref":"ida_dirtree.direntry_vec_t.end",
"url":8,
"doc":"end(self) -> direntry_t",
"func":1
},
{
"ref":"ida_dirtree.direntry_vec_t.insert",
"url":8,
"doc":"insert(self, it, x) -> direntry_t @param it: qvector  iterator @param x: direntry_t const &",
"func":1
},
{
"ref":"ida_dirtree.direntry_vec_t.erase",
"url":8,
"doc":"erase(self, it) -> direntry_t @param it: qvector  iterator erase(self, first, last) -> direntry_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_dirtree.direntry_vec_t.find",
"url":8,
"doc":"find(self, x) -> direntry_t @param x: direntry_t const &",
"func":1
},
{
"ref":"ida_dirtree.direntry_vec_t.has",
"url":8,
"doc":"has(self, x) -> bool @param x: direntry_t const &",
"func":1
},
{
"ref":"ida_dirtree.direntry_vec_t.add_unique",
"url":8,
"doc":"add_unique(self, x) -> bool @param x: direntry_t const &",
"func":1
},
{
"ref":"ida_dirtree.direntry_vec_t.front",
"url":8,
"doc":"",
"func":1
},
{
"ref":"ida_dirtree.direntry_vec_t.back",
"url":8,
"doc":"",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t",
"url":8,
"doc":"Proxy of C qvector class. __init__(self) -> dirtree_cursor_vec_t __init__(self, x) -> dirtree_cursor_vec_t @param x: qvector const &"
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.thisown",
"url":8,
"doc":"The membership flag"
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.push_back",
"url":8,
"doc":"push_back(self, x) @param x: dirtree_cursor_t const & push_back(self) -> dirtree_cursor_t",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.pop_back",
"url":8,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.size",
"url":8,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.empty",
"url":8,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.at",
"url":8,
"doc":"at(self, _idx) -> dirtree_cursor_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.qclear",
"url":8,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.clear",
"url":8,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.resize",
"url":8,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: dirtree_cursor_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.grow",
"url":8,
"doc":"grow(self, x=dirtree_cursor_t( @param x: dirtree_cursor_t const &",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.capacity",
"url":8,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.reserve",
"url":8,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.truncate",
"url":8,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.swap",
"url":8,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.extract",
"url":8,
"doc":"extract(self) -> dirtree_cursor_t",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.inject",
"url":8,
"doc":"inject(self, s, len) @param s: dirtree_cursor_t  @param len: size_t",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.begin",
"url":8,
"doc":"begin(self) -> dirtree_cursor_t",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.end",
"url":8,
"doc":"end(self) -> dirtree_cursor_t",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.insert",
"url":8,
"doc":"insert(self, it, x) -> dirtree_cursor_t @param it: qvector  iterator @param x: dirtree_cursor_t const &",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.erase",
"url":8,
"doc":"erase(self, it) -> dirtree_cursor_t @param it: qvector  iterator erase(self, first, last) -> dirtree_cursor_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.find",
"url":8,
"doc":"find(self, x) -> dirtree_cursor_t @param x: dirtree_cursor_t const &",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.has",
"url":8,
"doc":"has(self, x) -> bool @param x: dirtree_cursor_t const &",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.add_unique",
"url":8,
"doc":"add_unique(self, x) -> bool @param x: dirtree_cursor_t const &",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.front",
"url":8,
"doc":"",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_vec_t.back",
"url":8,
"doc":"",
"func":1
},
{
"ref":"ida_dirtree.direntry_t",
"url":8,
"doc":"Proxy of C direntry_t class. __init__(self, i=BADIDX, d=False) -> direntry_t @param i: uval_t @param d: bool"
},
{
"ref":"ida_dirtree.direntry_t.thisown",
"url":8,
"doc":"The membership flag"
},
{
"ref":"ida_dirtree.direntry_t.idx",
"url":8,
"doc":"diridx_t or inode_t"
},
{
"ref":"ida_dirtree.direntry_t.isdir",
"url":8,
"doc":"is 'idx' a diridx_t, or an inode_t"
},
{
"ref":"ida_dirtree.direntry_t.BADIDX",
"url":8,
"doc":""
},
{
"ref":"ida_dirtree.direntry_t.ROOTIDX",
"url":8,
"doc":""
},
{
"ref":"ida_dirtree.direntry_t.valid",
"url":8,
"doc":"valid(self) -> bool",
"func":1
},
{
"ref":"ida_dirtree.DTN_FULL_NAME",
"url":8,
"doc":"use long form of the entry name. That name is unique."
},
{
"ref":"ida_dirtree.DTN_DISPLAY_NAME",
"url":8,
"doc":"use short, displayable form of the entry name. for example, 'std string' instead of 'std basic_string '. Note that more than one \"full name\" can have the same displayable name."
},
{
"ref":"ida_dirtree.dirspec_t",
"url":8,
"doc":"Proxy of C dirspec_t class. __init__(self, nm=None, f=0) -> dirspec_t @param nm: char const  @param f: uint32"
},
{
"ref":"ida_dirtree.dirspec_t.thisown",
"url":8,
"doc":"The membership flag"
},
{
"ref":"ida_dirtree.dirspec_t.flags",
"url":8,
"doc":"flags"
},
{
"ref":"ida_dirtree.dirspec_t.DSF_INODE_EA",
"url":8,
"doc":""
},
{
"ref":"ida_dirtree.dirspec_t.DSF_PRIVRANGE",
"url":8,
"doc":""
},
{
"ref":"ida_dirtree.dirspec_t.DSF_ORDERABLE",
"url":8,
"doc":""
},
{
"ref":"ida_dirtree.dirspec_t.id",
"url":8,
"doc":"id"
},
{
"ref":"ida_dirtree.dirspec_t.get_name",
"url":8,
"doc":"get_name(self, inode, name_flags=DTN_FULL_NAME) -> bool get the entry name. for example, the structure name @param inode: (C : inode_t) inode number of the entry @param name_flags: (C : uint32) how exactly the name should be retrieved. combination of bits for get_ .name() methods bits @return: false if the entry does not exist.",
"func":1
},
{
"ref":"ida_dirtree.dirspec_t.get_inode",
"url":8,
"doc":"get_inode(self, dirpath, name) -> inode_t get the entry inode in the specified directory @param dirpath: (C : const char  ) the absolute directory path with trailing slash @param name: (C : const char  ) the entry name in the directory @return: the entry inode",
"func":1
},
{
"ref":"ida_dirtree.dirspec_t.get_attrs",
"url":8,
"doc":"get_attrs(self, inode) -> qstring @param inode: inode_t",
"func":1
},
{
"ref":"ida_dirtree.dirspec_t.rename_inode",
"url":8,
"doc":"rename_inode(self, inode, newname) -> bool rename the entry @param inode: (C : inode_t) @param newname: (C : const char  ) @return: success",
"func":1
},
{
"ref":"ida_dirtree.dirspec_t.unlink_inode",
"url":8,
"doc":"unlink_inode(self, inode) @param inode: (C : inode_t)",
"func":1
},
{
"ref":"ida_dirtree.dirspec_t.is_orderable",
"url":8,
"doc":"is_orderable(self) -> bool",
"func":1
},
{
"ref":"ida_dirtree.dirspec_t.nodename",
"url":8,
"doc":"id"
},
{
"ref":"ida_dirtree.dirtree_cursor_t",
"url":8,
"doc":"Proxy of C dirtree_cursor_t class. __init__(self, _parent=BADIDX, _rank=size_t(-1 -> dirtree_cursor_t @param _parent: diridx_t @param _rank: size_t"
},
{
"ref":"ida_dirtree.dirtree_cursor_t.thisown",
"url":8,
"doc":"The membership flag"
},
{
"ref":"ida_dirtree.dirtree_cursor_t.parent",
"url":8,
"doc":"the parent directory"
},
{
"ref":"ida_dirtree.dirtree_cursor_t.rank",
"url":8,
"doc":"the index into the parent directory"
},
{
"ref":"ida_dirtree.dirtree_cursor_t.valid",
"url":8,
"doc":"valid(self) -> bool",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_t.is_root_cursor",
"url":8,
"doc":"is_root_cursor(self) -> bool",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_t.set_root_cursor",
"url":8,
"doc":"set_root_cursor(self)",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_t.root_cursor",
"url":8,
"doc":"root_cursor() -> dirtree_cursor_t",
"func":1
},
{
"ref":"ida_dirtree.dirtree_cursor_t.compare",
"url":8,
"doc":"compare(self, r) -> int @param r: dirtree_cursor_t const &",
"func":1
},
{
"ref":"ida_dirtree.dirtree_selection_t",
"url":8,
"doc":"Proxy of C dirtree_selection_t class. __init__(self) -> dirtree_selection_t"
},
{
"ref":"ida_dirtree.dirtree_selection_t.thisown",
"url":8,
"doc":"The membership flag"
},
{
"ref":"ida_dirtree.dirtree_selection_t.push_back",
"url":8,
"doc":"push_back(self, x) @param x: dirtree_cursor_t const & push_back(self) -> dirtree_cursor_t",
"func":1
},
{
"ref":"ida_dirtree.dirtree_selection_t.pop_back",
"url":8,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_dirtree.dirtree_selection_t.size",
"url":8,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_dirtree.dirtree_selection_t.empty",
"url":8,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_dirtree.dirtree_selection_t.at",
"url":8,
"doc":"at(self, _idx) -> dirtree_cursor_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_dirtree.dirtree_selection_t.qclear",
"url":8,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_dirtree.dirtree_selection_t.clear",
"url":8,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_dirtree.dirtree_selection_t.resize",
"url":8,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: dirtree_cursor_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_dirtree.dirtree_selection_t.grow",
"url":8,
"doc":"grow(self, x=dirtree_cursor_t( @param x: dirtree_cursor_t const &",
"func":1
},
{
"ref":"ida_dirtree.dirtree_selection_t.capacity",
"url":8,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_dirtree.dirtree_selection_t.reserve",
"url":8,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_dirtree.dirtree_selection_t.truncate",
"url":8,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_dirtree.dirtree_selection_t.swap",
"url":8,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_dirtree.dirtree_selection_t.extract",
"url":8,
"doc":"extract(self) -> dirtree_cursor_t",
"func":1
},
{
"ref":"ida_dirtree.dirtree_selection_t.inject",
"url":8,
"doc":"inject(self, s, len) @param s: dirtree_cursor_t  @param len: size_t",
"func":1
},
{
"ref":"ida_dirtree.dirtree_selection_t.begin",
"url":8,
"doc":"begin(self) -> dirtree_cursor_t",
"func":1
},
{
"ref":"ida_dirtree.dirtree_selection_t.end",
"url":8,
"doc":"end(self) -> dirtree_cursor_t",
"func":1
},
{
"ref":"ida_dirtree.dirtree_selection_t.insert",
"url":8,
"doc":"insert(self, it, x) -> dirtree_cursor_t @param it: qvector  iterator @param x: dirtree_cursor_t const &",
"func":1
},
{
"ref":"ida_dirtree.dirtree_selection_t.erase",
"url":8,
"doc":"erase(self, it) -> dirtree_cursor_t @param it: qvector  iterator erase(self, first, last) -> dirtree_cursor_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_dirtree.dirtree_selection_t.find",
"url":8,
"doc":"find(self, x) -> dirtree_cursor_t @param x: dirtree_cursor_t const &",
"func":1
},
{
"ref":"ida_dirtree.dirtree_selection_t.has",
"url":8,
"doc":"has(self, x) -> bool @param x: dirtree_cursor_t const &",
"func":1
},
{
"ref":"ida_dirtree.dirtree_selection_t.add_unique",
"url":8,
"doc":"add_unique(self, x) -> bool @param x: dirtree_cursor_t const &",
"func":1
},
{
"ref":"ida_dirtree.dirtree_iterator_t",
"url":8,
"doc":"Proxy of C dirtree_iterator_t class. __init__(self) -> dirtree_iterator_t"
},
{
"ref":"ida_dirtree.dirtree_iterator_t.thisown",
"url":8,
"doc":"The membership flag"
},
{
"ref":"ida_dirtree.dirtree_iterator_t.pattern",
"url":8,
"doc":"pattern"
},
{
"ref":"ida_dirtree.dirtree_iterator_t.cursor",
"url":8,
"doc":"cursor"
},
{
"ref":"ida_dirtree.DTE_OK",
"url":8,
"doc":"ok"
},
{
"ref":"ida_dirtree.DTE_ALREADY_EXISTS",
"url":8,
"doc":"item already exists"
},
{
"ref":"ida_dirtree.DTE_NOT_FOUND",
"url":8,
"doc":"item not found"
},
{
"ref":"ida_dirtree.DTE_NOT_DIRECTORY",
"url":8,
"doc":"item is not a directory"
},
{
"ref":"ida_dirtree.DTE_NOT_EMPTY",
"url":8,
"doc":"directory is not empty"
},
{
"ref":"ida_dirtree.DTE_BAD_PATH",
"url":8,
"doc":"invalid path"
},
{
"ref":"ida_dirtree.DTE_CANT_RENAME",
"url":8,
"doc":"failed to rename an item"
},
{
"ref":"ida_dirtree.DTE_OWN_CHILD",
"url":8,
"doc":"moving inside subdirectory of itself"
},
{
"ref":"ida_dirtree.DTE_MAX_DIR",
"url":8,
"doc":"maximum directory count achieved"
},
{
"ref":"ida_dirtree.dirtree_visitor_t",
"url":8,
"doc":"Proxy of C dirtree_visitor_t class. __init__(self) -> dirtree_visitor_t @param self: PyObject  "
},
{
"ref":"ida_dirtree.dirtree_visitor_t.thisown",
"url":8,
"doc":"The membership flag"
},
{
"ref":"ida_dirtree.dirtree_visitor_t.visit",
"url":8,
"doc":"visit(self, c, de) -> ssize_t Will be called for each entry in the dirtree_t If something other than 0 is returned, iteration will stop. @param c: (C : const dirtree_cursor_t &) the current cursor @param de: (C : const direntry_t &) the current entry @return: 0 to keep iterating, or anything else to stop",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t",
"url":8,
"doc":"Proxy of C dirtree_t class. __init__(self, ds) -> dirtree_t @param ds: dirspec_t  "
},
{
"ref":"ida_dirtree.dirtree_t.thisown",
"url":8,
"doc":"The membership flag"
},
{
"ref":"ida_dirtree.dirtree_t.errstr",
"url":8,
"doc":"errstr(err) -> char const  Get textual representation of the error code. @param err: (C : dterr_t) enum dterr_t",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.is_orderable",
"url":8,
"doc":"is_orderable(self) -> bool Is dirtree orderable? @return: true if the dirtree is orderable",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.chdir",
"url":8,
"doc":"chdir(self, path) -> dterr_t Change current directory @param path: (C : const char  ) new current directory @return: dterr_t error code",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.getcwd",
"url":8,
"doc":"getcwd(self) -> qstring Get current directory @return: the current working directory",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.get_abspath",
"url":8,
"doc":"get_abspath(self, cursor, name_flags=DTN_FULL_NAME) -> qstring Construct an absolute path from the specified relative path. This function verifies the directory part of the specified path. The last component of the specified path is not verified. @param cursor: dirtree_cursor_t const & @param name_flags: uint32 @return: path. empty path means wrong directory part of RELPATH get_abspath(self, relpath) -> qstring @param relpath: char const  ",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.resolve_cursor",
"url":8,
"doc":"resolve_cursor(self, cursor) -> direntry_t Resolve cursor @param cursor: (C : const dirtree_cursor_t &) to analyze @return: directory entry; if the cursor is bad, the resolved entry will be invalid. @note: see also get_abspath()",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.resolve_path",
"url":8,
"doc":"resolve_path(self, path) -> direntry_t Resolve path @param path: (C : const char  ) to analyze @return: directory entry",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.isdir",
"url":8,
"doc":"isdir(self, de) -> bool @param de: direntry_t const & isdir(self, path) -> bool @param path: char const  ",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.isfile",
"url":8,
"doc":"isfile(self, de) -> bool @param de: direntry_t const & isfile(self, path) -> bool @param path: char const  ",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.get_entry_name",
"url":8,
"doc":"get_entry_name(self, de, name_flags=DTN_FULL_NAME) -> qstring Get entry name @param de: (C : const direntry_t &) directory entry @param name_flags: (C : uint32) how exactly the name should be retrieved. combination of bits for get_ .name() methods bits @return: name",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.is_dir_ordered",
"url":8,
"doc":"is_dir_ordered(self, diridx) -> bool Is dir ordered? @param diridx: (C : diridx_t) @return: true if the dirtree has natural ordering",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.set_natural_order",
"url":8,
"doc":"set_natural_order(self, diridx, enable) -> bool Enable/disable natural inode order in a directory. @param diridx: (C : diridx_t) directory index @param enable: (C : bool) action to do TRUE - enable ordering: re-order existing entries so that all subdirs are at the to beginning of the list, file entries are sorted and placed after the subdirs FALSE - disable ordering, no changes to existing entries @return: SUCCESS",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.get_dir_size",
"url":8,
"doc":"get_dir_size(self, diridx) -> ssize_t Get dir size @param diridx: (C : diridx_t) directory index @return: number of entries under this directory; if error, return -1",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.get_entry_attrs",
"url":8,
"doc":"get_entry_attrs(self, de) -> qstring Get entry attributes @param de: (C : const direntry_t &) directory entry @return: name",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.findfirst",
"url":8,
"doc":"findfirst(self, ff, pattern) -> bool Start iterating over files in a directory @param ff: (C : dirtree_iterator_t  ) directory iterator. it will be initialized by the function @param pattern: (C : const char  ) pattern to search for @return: success",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.findnext",
"url":8,
"doc":"findnext(self, ff) -> bool Continue iterating over files in a directory @param ff: (C : dirtree_iterator_t  ) directory iterator @return: success",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.mkdir",
"url":8,
"doc":"mkdir(self, path) -> dterr_t Create a directory. @param path: (C : const char  ) directory to create @return: dterr_t error code",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.rmdir",
"url":8,
"doc":"rmdir(self, path) -> dterr_t Remove a directory. @param path: (C : const char  ) directory to delete @return: dterr_t error code",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.link",
"url":8,
"doc":"link(self, path) -> dterr_t Add an inode into the current directory @param path: char const  @return: dterr_t error code link(self, inode) -> dterr_t @param inode: inode_t",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.unlink",
"url":8,
"doc":"unlink(self, path) -> dterr_t Remove an inode from the current directory @param path: char const  @return: dterr_t error code unlink(self, inode) -> dterr_t @param inode: inode_t",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.rename",
"url":8,
"doc":"rename(self, _from, to) -> dterr_t Rename a directory entry. @param from: (C : const char  ) source path @param to: (C : const char  ) destination path @return: dterr_t error code @note: This function can also rename the item",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.get_rank",
"url":8,
"doc":"get_rank(self, diridx, de) -> ssize_t Get ordering rank of an item. @param diridx: (C : diridx_t) index of the parent directory @param de: (C : const direntry_t &) directory entry @return: number in a range of [0 n) where n is the number of entries in the parent directory. -1 if error",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.change_rank",
"url":8,
"doc":"change_rank(self, path, rank_delta) -> dterr_t Change ordering rank of an item. @param path: (C : const char  ) path to the item @param rank_delta: (C : ssize_t) the amount of the change. positive numbers mean to move down in the list; negative numbers mean to move up. @return: dterr_t error code @note: this function may disable natural ordering of the parent folder @see: set_natural_order()",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.get_parent_cursor",
"url":8,
"doc":"get_parent_cursor(self, cursor) -> dirtree_cursor_t Get parent cursor. @param cursor: (C : const dirtree_cursor_t &) a valid ditree cursor @return: cursor's parent",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.load",
"url":8,
"doc":"load(self) -> bool Load the tree structure from the netnode. If dirspec_t id is empty, the operation will be considered a success. In addition, calling load() more than once will not do anything, and will be considered a success. @return: success @see: dirspec_t id.",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.save",
"url":8,
"doc":"save(self) -> bool Save the tree structure to the netnode. @return: success @see: dirspec_t id.",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.get_id",
"url":8,
"doc":"get_id(self) -> char const  netnode name",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.set_id",
"url":8,
"doc":"set_id(self, nm) @param nm: char const  ",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.notify_dirtree",
"url":8,
"doc":"notify_dirtree(self, added, inode) Notify dirtree about a change of an inode. @param added: (C : bool) are we adding or deleting an inode? @param inode: (C : inode_t) inode in question",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.traverse",
"url":8,
"doc":"traverse(self, v) -> ssize_t Traverse dirtree, and be notified at each entry If the the visitor returns anything other than 0, iteration will stop, and that value returned. The tree is traversed using a depth-first algorithm. It is forbidden to modify the dirtree_t during traversal; doing so will result in undefined behavior. @param v: (C : dirtree_visitor_t &) the callback @return: 0, or whatever the visitor returned",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.find_entry",
"url":8,
"doc":"find_entry(self, de) -> dirtree_cursor_t Find the cursor corresponding to an entry of a directory @param de: (C : const direntry_t &) directory entry @return: cursor corresponding to the directory entry",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.get_nodename",
"url":8,
"doc":"get_id(self) -> char const  netnode name",
"func":1
},
{
"ref":"ida_dirtree.dirtree_t.set_nodename",
"url":8,
"doc":"set_id(self, nm) @param nm: char const  ",
"func":1
},
{
"ref":"ida_dirtree.get_std_dirtree",
"url":8,
"doc":"get_std_dirtree(id) -> dirtree_t @param id: enum dirtree_id_t",
"func":1
},
{
"ref":"ida_entry",
"url":9,
"doc":"Functions that deal with entry points. Exported functions are considered as entry points as well. IDA maintains list of entry points to the program. Each entry point:  has an address  has a name  may have an ordinal number"
},
{
"ref":"ida_entry.get_entry_qty",
"url":9,
"doc":"get_entry_qty() -> size_t Get number of entry points.",
"func":1
},
{
"ref":"ida_entry.AEF_UTF8",
"url":9,
"doc":"the name is given in UTF-8 (default)"
},
{
"ref":"ida_entry.AEF_IDBENC",
"url":9,
"doc":"the name is given in the IDB encoding; non-ASCII bytes will be decoded accordingly. Specifying AEF_IDBENC also implies AEF_NODUMMY"
},
{
"ref":"ida_entry.AEF_NODUMMY",
"url":9,
"doc":"automatically prepend the name with '_' if it begins with a dummy suffix. See also AEF_IDBENC"
},
{
"ref":"ida_entry.add_entry",
"url":9,
"doc":"add_entry(ord, ea, name, makecode, flags=0) -> bool Add an entry point to the list of entry points. @param ord: (C : uval_t) ordinal number if ordinal number is equal to 'ea' then ordinal is not used @param ea: (C : ea_t) linear address @param name: (C : const char  ) name of entry point. If the specified location already has a name, the old name will be appended to the regular comment. If name  nullptr, then the old name will be retained. @param makecode: (C : bool) should the kernel convert bytes at the entry point to instruction(s) @param flags: (C : int) See AEF_ @return: success (currently always true)",
"func":1
},
{
"ref":"ida_entry.get_entry_ordinal",
"url":9,
"doc":"get_entry_ordinal(idx) -> uval_t Get ordinal number of an entry point. @param idx: (C : size_t) internal number of entry point. Should be in the range 0 get_entry_qty()-1 @return: ordinal number or 0.",
"func":1
},
{
"ref":"ida_entry.get_entry",
"url":9,
"doc":"get_entry(ord) -> ea_t Get entry point address by its ordinal @param ord: (C : uval_t) ordinal number of entry point @return: address or BADADDR",
"func":1
},
{
"ref":"ida_entry.get_entry_name",
"url":9,
"doc":"get_entry_name(ord) -> str Get name of the entry point by its ordinal. @param ord: (C : uval_t) ordinal number of entry point @return: size of entry name or -1",
"func":1
},
{
"ref":"ida_entry.rename_entry",
"url":9,
"doc":"rename_entry(ord, name, flags=0) -> bool Rename entry point. @param ord: (C : uval_t) ordinal number of the entry point @param name: (C : const char  ) name of entry point. If the specified location already has a name, the old name will be appended to a repeatable comment. @param flags: (C : int) See AEF_ @return: success",
"func":1
},
{
"ref":"ida_entry.set_entry_forwarder",
"url":9,
"doc":"set_entry_forwarder(ord, name, flags=0) -> bool Set forwarder name for ordinal. @param ord: (C : uval_t) ordinal number of the entry point @param name: (C : const char  ) forwarder name for entry point. @param flags: (C : int) See AEF_ @return: success",
"func":1
},
{
"ref":"ida_entry.get_entry_forwarder",
"url":9,
"doc":"get_entry_forwarder(ord) -> str Get forwarder name for the entry point by its ordinal. @param ord: (C : uval_t) ordinal number of entry point @return: size of entry forwarder name or -1",
"func":1
},
{
"ref":"ida_expr",
"url":10,
"doc":"Functions that deal with C-like expressions and built-in IDC language. Functions marked THREAD_SAFE may be called from any thread. No simultaneous calls should be made for the same variable. We protect only global structures, individual variables must be protected manually."
},
{
"ref":"ida_expr.compile_idc_file",
"url":10,
"doc":"compile_idc_file(nonnul_line) -> str @param nonnul_line: char const  ",
"func":1
},
{
"ref":"ida_expr.compile_idc_text",
"url":10,
"doc":"compile_idc_text(nonnul_line) -> str @param nonnul_line: char const  ",
"func":1
},
{
"ref":"ida_expr.py_get_call_idc_func",
"url":10,
"doc":"py_get_call_idc_func() -> size_t",
"func":1
},
{
"ref":"ida_expr.pyw_register_idc_func",
"url":10,
"doc":"pyw_register_idc_func(name, args, py_fp) -> size_t @param name: char const  @param args: char const  @param py_fp: PyObject  ",
"func":1
},
{
"ref":"ida_expr.pyw_unregister_idc_func",
"url":10,
"doc":"pyw_unregister_idc_func(ctxptr) -> bool @param ctxptr: size_t",
"func":1
},
{
"ref":"ida_expr.pyw_convert_defvals",
"url":10,
"doc":"pyw_convert_defvals(out, py_seq) -> bool @param out: idc_values_t  @param py_seq: PyObject  ",
"func":1
},
{
"ref":"ida_expr.py_add_idc_func",
"url":10,
"doc":"py_add_idc_func(name, fp_ptr, args, defvals, flags) -> bool @param name: char const  @param fp_ptr: size_t @param args: char const  @param defvals: idc_values_t const & @param flags: int",
"func":1
},
{
"ref":"ida_expr.eval_expr",
"url":10,
"doc":"eval_expr(rv, where, line) -> str Compile and calculate an expression. @param rv: (C : idc_value_t  ) pointer to the result @param where: (C : ea_t) the current linear address in the addressing space of the program being disassembled. If will be used to resolve names of local variables etc. if not applicable, then should be BADADDR. @param line: (C : const char  ) the expression to evaluate @retval true: ok @retval false: error, see errbuf",
"func":1
},
{
"ref":"ida_expr.eval_idc_expr",
"url":10,
"doc":"eval_idc_expr(rv, where, line) -> str Same as eval_expr(), but will always use the IDC interpreter regardless of the currently installed extlang. @param rv: (C : idc_value_t  ) @param where: (C : ea_t) @param line: char const  ",
"func":1
},
{
"ref":"ida_expr.IDC_LANG_EXT",
"url":10,
"doc":"IDC script extension."
},
{
"ref":"ida_expr.idcv_long",
"url":10,
"doc":"idcv_long(v) -> error_t Convert IDC variable to a long (32/64bit) number. @param v: (C : idc_value_t  ) @return: v = 0 if impossible to convert to long",
"func":1
},
{
"ref":"ida_expr.idcv_int64",
"url":10,
"doc":"idcv_int64(v) -> error_t Convert IDC variable to a 64bit number. @param v: (C : idc_value_t  ) @return: v = 0 if impossible to convert to int64",
"func":1
},
{
"ref":"ida_expr.idcv_num",
"url":10,
"doc":"idcv_num(v) -> error_t Convert IDC variable to a long number. @param v: (C : idc_value_t  ) @return:  v = 0 if IDC variable = \"false\" string  v = 1 if IDC variable = \"true\" string  v = number if IDC variable is number or string containing a number  eTypeConflict if IDC variable = empty string",
"func":1
},
{
"ref":"ida_expr.idcv_string",
"url":10,
"doc":"idcv_string(v) -> error_t Convert IDC variable to a text string. @param v: (C : idc_value_t  )",
"func":1
},
{
"ref":"ida_expr.idcv_float",
"url":10,
"doc":"idcv_float(v) -> error_t Convert IDC variable to a floating point. @param v: (C : idc_value_t  )",
"func":1
},
{
"ref":"ida_expr.idcv_object",
"url":10,
"doc":"idcv_object(v, icls=None) -> error_t Create an IDC object. The original value of 'v' is discarded (freed). @param v: (C : idc_value_t  ) variable to hold the object. any previous value will be cleaned @param icls: (C : const idc_class_t  ) ptr to the desired class. nullptr means \"object\" class this ptr must be returned by add_idc_class() or find_idc_class() @return: always eOk",
"func":1
},
{
"ref":"ida_expr.move_idcv",
"url":10,
"doc":"move_idcv(dst, src) -> error_t Move 'src' to 'dst'. This function is more effective than copy_idcv since it never copies big amounts of data. @param dst: (C : idc_value_t  ) @param src: (C : idc_value_t  )",
"func":1
},
{
"ref":"ida_expr.copy_idcv",
"url":10,
"doc":"copy_idcv(dst, src) -> error_t Copy 'src' to 'dst'. For idc objects only a reference is copied. @param dst: (C : idc_value_t  ) @param src: (C : const idc_value_t &) idc_value_t const &",
"func":1
},
{
"ref":"ida_expr.deep_copy_idcv",
"url":10,
"doc":"deep_copy_idcv(dst, src) -> error_t Deep copy an IDC object. This function performs deep copy of idc objects. If 'src' is not an object, copy_idcv() will be called @param dst: (C : idc_value_t  ) @param src: (C : const idc_value_t &) idc_value_t const &",
"func":1
},
{
"ref":"ida_expr.free_idcv",
"url":10,
"doc":"free_idcv(v) Free storage used by VT_STR/VT_OBJ IDC variables. After this call the variable has a numeric value 0 @param v: (C : idc_value_t  )",
"func":1
},
{
"ref":"ida_expr.swap_idcvs",
"url":10,
"doc":"swap_idcvs(v1, v2) Swap 2 variables. @param v1: (C : idc_value_t  ) @param v2: (C : idc_value_t  )",
"func":1
},
{
"ref":"ida_expr.get_idcv_class_name",
"url":10,
"doc":"get_idcv_class_name(obj) -> str Retrieves the IDC object class name. @param obj: (C : const idc_value_t  ) class instance variable @return: error code, eOk on success",
"func":1
},
{
"ref":"ida_expr.get_idcv_attr",
"url":10,
"doc":"get_idcv_attr(res, obj, attr, may_use_getattr=False) -> error_t Get an object attribute. @param res: (C : idc_value_t  ) buffer for the attribute value @param obj: (C : const idc_value_t  ) variable that holds an object reference. if obj is nullptr it searches global variables, then user functions @param attr: (C : const char  ) attribute name @param may_use_getattr: (C : bool) may call getattr functions to calculate the attribute if it does not exist @return: error code, eOk on success",
"func":1
},
{
"ref":"ida_expr.set_idcv_attr",
"url":10,
"doc":"set_idcv_attr(obj, attr, value, may_use_setattr=False) -> error_t Set an object attribute. @param obj: (C : idc_value_t  ) variable that holds an object reference. if obj is nullptr then it tries to modify a global variable with the attribute name @param attr: (C : const char  ) attribute name @param value: (C : const idc_value_t &) new attribute value @param may_use_setattr: (C : bool) may call setattr functions for the class @return: error code, eOk on success",
"func":1
},
{
"ref":"ida_expr.del_idcv_attr",
"url":10,
"doc":"del_idcv_attr(obj, attr) -> error_t Delete an object attribute. @param obj: (C : idc_value_t  ) variable that holds an object reference @param attr: (C : const char  ) attribute name @return: error code, eOk on success",
"func":1
},
{
"ref":"ida_expr.first_idcv_attr",
"url":10,
"doc":"first_idcv_attr(obj) -> char const  @param obj: idc_value_t const  ",
"func":1
},
{
"ref":"ida_expr.last_idcv_attr",
"url":10,
"doc":"last_idcv_attr(obj) -> char const  @param obj: idc_value_t const  ",
"func":1
},
{
"ref":"ida_expr.next_idcv_attr",
"url":10,
"doc":"next_idcv_attr(obj, attr) -> char const  @param obj: idc_value_t const  @param attr: char const  ",
"func":1
},
{
"ref":"ida_expr.prev_idcv_attr",
"url":10,
"doc":"prev_idcv_attr(obj, attr) -> char const  @param obj: idc_value_t const  @param attr: char const  ",
"func":1
},
{
"ref":"ida_expr.print_idcv",
"url":10,
"doc":"print_idcv(v, name=None, indent=0) -> bool Get text representation of idc_value_t. @param v: (C : const idc_value_t &) idc_value_t const & @param name: (C : const char  ) char const  @param indent: (C : int)",
"func":1
},
{
"ref":"ida_expr.get_idcv_slice",
"url":10,
"doc":"get_idcv_slice(res, v, i1, i2, flags=0) -> error_t Get slice. @param res: (C : idc_value_t  ) output variable that will contain the slice @param v: (C : const idc_value_t  ) input variable (string or object) @param i1: (C : uval_t) slice start index @param i2: (C : uval_t) slice end index (excluded) @param flags: (C : int) IDC variable slice flags or 0 @return: eOk if success",
"func":1
},
{
"ref":"ida_expr.VARSLICE_SINGLE",
"url":10,
"doc":"return single index (i2 is ignored)"
},
{
"ref":"ida_expr.set_idcv_slice",
"url":10,
"doc":"set_idcv_slice(v, i1, i2, _in, flags=0) -> error_t Set slice. @param v: (C : idc_value_t  ) variable to modify (string or object) @param i1: (C : uval_t) slice start index @param i2: (C : uval_t) slice end index (excluded) @param in: (C : const idc_value_t &) new value for the slice @param flags: (C : int) IDC variable slice flags or 0 @return: eOk on success",
"func":1
},
{
"ref":"ida_expr.add_idc_class",
"url":10,
"doc":"add_idc_class(name, super=None) -> idc_class_t Create a new IDC class. @param name: (C : const char  ) name of the new class @param super: (C : const idc_class_t  ) the base class for the new class. if the new class is not based on any other class, pass nullptr @return: pointer to the created class. If such a class already exists, a pointer to it will be returned. Pointers to other existing classes may be invalidated by this call.",
"func":1
},
{
"ref":"ida_expr.find_idc_class",
"url":10,
"doc":"find_idc_class(name) -> idc_class_t  Find an existing IDC class by its name. @param name: (C : const char  ) name of the class @return: pointer to the class or nullptr. The returned pointer is valid until a new call to add_idc_class()",
"func":1
},
{
"ref":"ida_expr.deref_idcv",
"url":10,
"doc":"deref_idcv(v, vref_flags) -> idc_value_t Dereference a VT_REF variable. @param v: (C : idc_value_t  ) variable to dereference @param vref_flags: (C : int) Dereference IDC variable flags @return: pointer to the dereference result or nullptr. If returns nullptr, qerrno is set to eExecBadRef \"Illegal variable reference\"",
"func":1
},
{
"ref":"ida_expr.VREF_LOOP",
"url":10,
"doc":"dereference until we get a non VT_REF"
},
{
"ref":"ida_expr.VREF_ONCE",
"url":10,
"doc":"dereference only once, do not loop"
},
{
"ref":"ida_expr.VREF_COPY",
"url":10,
"doc":"copy the result to the input var (v)"
},
{
"ref":"ida_expr.create_idcv_ref",
"url":10,
"doc":"create_idcv_ref(ref, v) -> bool Create a variable reference. Currently only references to global variables can be created. @param ref: (C : idc_value_t  ) ptr to the result @param v: (C : const idc_value_t  ) variable to reference @return: success",
"func":1
},
{
"ref":"ida_expr.add_idc_gvar",
"url":10,
"doc":"add_idc_gvar(name) -> idc_value_t Add global IDC variable. @param name: (C : const char  ) name of the global variable @return: pointer to the created variable or existing variable. NB: the returned pointer is valid until a new global var is added.",
"func":1
},
{
"ref":"ida_expr.find_idc_gvar",
"url":10,
"doc":"find_idc_gvar(name) -> idc_value_t Find an existing global IDC variable by its name. @param name: (C : const char  ) name of the global variable @return: pointer to the variable or nullptr. NB: the returned pointer is valid until a new global var is added. FIXME: it is difficult to use this function in a thread safe manner",
"func":1
},
{
"ref":"ida_expr.idc_value_t",
"url":10,
"doc":"Proxy of C idc_value_t class. __init__(self, n=0) -> idc_value_t @param n: sval_t __init__(self, r) -> idc_value_t @param r: idc_value_t const & __init__(self, _str) -> idc_value_t @param _str: char const  "
},
{
"ref":"ida_expr.idc_value_t.thisown",
"url":10,
"doc":"The membership flag"
},
{
"ref":"ida_expr.idc_value_t.vtype",
"url":10,
"doc":"IDC value types"
},
{
"ref":"ida_expr.idc_value_t.num",
"url":10,
"doc":"VT_LONG"
},
{
"ref":"ida_expr.idc_value_t.e",
"url":10,
"doc":"VT_FLOAT"
},
{
"ref":"ida_expr.idc_value_t.obj",
"url":10,
"doc":"obj"
},
{
"ref":"ida_expr.idc_value_t.funcidx",
"url":10,
"doc":"VT_FUNC"
},
{
"ref":"ida_expr.idc_value_t.pvoid",
"url":10,
"doc":"VT_PVOID"
},
{
"ref":"ida_expr.idc_value_t.i64",
"url":10,
"doc":"VT_INT64"
},
{
"ref":"ida_expr.idc_value_t.reserve",
"url":10,
"doc":"VT_STR."
},
{
"ref":"ida_expr.idc_value_t.clear",
"url":10,
"doc":"clear(self) See free_idcv()",
"func":1
},
{
"ref":"ida_expr.idc_value_t.qstr",
"url":10,
"doc":"qstr(self) -> qstring VT_STR qstr(self) -> qstring const &",
"func":1
},
{
"ref":"ida_expr.idc_value_t.c_str",
"url":10,
"doc":"c_str(self) -> char const  VT_STR",
"func":1
},
{
"ref":"ida_expr.idc_value_t.u_str",
"url":10,
"doc":"u_str(self) -> uchar const  VT_STR",
"func":1
},
{
"ref":"ida_expr.idc_value_t.swap",
"url":10,
"doc":"swap(self, v) Set this = r and v = this. @param v: (C : idc_value_t &)",
"func":1
},
{
"ref":"ida_expr.idc_value_t.is_zero",
"url":10,
"doc":"is_zero(self) -> bool Does value represent the integer 0?",
"func":1
},
{
"ref":"ida_expr.idc_value_t.is_integral",
"url":10,
"doc":"is_integral(self) -> bool Does value represent a whole number?",
"func":1
},
{
"ref":"ida_expr.idc_value_t.is_convertible",
"url":10,
"doc":"is_convertible(self) -> bool Convertible types are VT_LONG, VT_FLOAT, VT_INT64, and VT_STR.",
"func":1
},
{
"ref":"ida_expr.idc_value_t.create_empty_string",
"url":10,
"doc":"create_empty_string(self)",
"func":1
},
{
"ref":"ida_expr.idc_value_t.set_string",
"url":10,
"doc":"set_string(self, _str, len) @param _str: char const  @param len: size_t set_string(self, _str) @param _str: char const  ",
"func":1
},
{
"ref":"ida_expr.idc_value_t.set_long",
"url":10,
"doc":"set_long(self, v) @param v: sval_t",
"func":1
},
{
"ref":"ida_expr.idc_value_t.set_pvoid",
"url":10,
"doc":"set_pvoid(self, p) @param p: void  ",
"func":1
},
{
"ref":"ida_expr.idc_value_t.set_int64",
"url":10,
"doc":"set_int64(self, v) @param v: int64",
"func":1
},
{
"ref":"ida_expr.idc_value_t.set_float",
"url":10,
"doc":"set_float(self, f) @param f: fpvalue_t const &",
"func":1
},
{
"ref":"ida_expr.idc_value_t.str",
"url":10,
"doc":""
},
{
"ref":"ida_expr.VT_LONG",
"url":10,
"doc":"Integer (see idc_value_t num)"
},
{
"ref":"ida_expr.VT_FLOAT",
"url":10,
"doc":"Floating point (see idc_value_t e)"
},
{
"ref":"ida_expr.VT_WILD",
"url":10,
"doc":"Function with arbitrary number of arguments. The actual number of arguments will be passed in idc_value_t num. This value should not be used for idc_value_t."
},
{
"ref":"ida_expr.VT_OBJ",
"url":10,
"doc":"Object (see idc_value_t obj)"
},
{
"ref":"ida_expr.VT_FUNC",
"url":10,
"doc":"Function (see idc_value_t funcidx)"
},
{
"ref":"ida_expr.VT_STR",
"url":10,
"doc":"String (see qstr() and similar functions)"
},
{
"ref":"ida_expr.VT_PVOID",
"url":10,
"doc":"void  "
},
{
"ref":"ida_expr.VT_INT64",
"url":10,
"doc":"i64"
},
{
"ref":"ida_expr.VT_REF",
"url":10,
"doc":"Reference."
},
{
"ref":"ida_expr.idc_global_t",
"url":10,
"doc":"Proxy of C idc_global_t class. __init__(self) -> idc_global_t __init__(self, n) -> idc_global_t @param n: char const  "
},
{
"ref":"ida_expr.idc_global_t.thisown",
"url":10,
"doc":"The membership flag"
},
{
"ref":"ida_expr.idc_global_t.name",
"url":10,
"doc":"name"
},
{
"ref":"ida_expr.idc_global_t.value",
"url":10,
"doc":"value"
},
{
"ref":"ida_expr.eExecThrow",
"url":10,
"doc":"See return value of idc_func_t."
},
{
"ref":"ida_expr.find_idc_func",
"url":10,
"doc":"find_idc_func(prefix, n=0) -> bool @param prefix: char const  @param n: int",
"func":1
},
{
"ref":"ida_expr.highlighter_cbs_t",
"url":10,
"doc":"Proxy of C highlighter_cbs_t class. __init__(self) -> highlighter_cbs_t @param self: PyObject  "
},
{
"ref":"ida_expr.highlighter_cbs_t.thisown",
"url":10,
"doc":"The membership flag"
},
{
"ref":"ida_expr.highlighter_cbs_t.set_style",
"url":10,
"doc":"set_style(self, arg0, arg1, arg2) @param arg0: int32 @param arg1: int32 @param arg2: enum syntax_highlight_style",
"func":1
},
{
"ref":"ida_expr.highlighter_cbs_t.prev_block_state",
"url":10,
"doc":"prev_block_state(self) -> int32",
"func":1
},
{
"ref":"ida_expr.highlighter_cbs_t.cur_block_state",
"url":10,
"doc":"cur_block_state(self) -> int32",
"func":1
},
{
"ref":"ida_expr.highlighter_cbs_t.set_block_state",
"url":10,
"doc":"set_block_state(self, arg0) @param arg0: int32",
"func":1
},
{
"ref":"ida_expr.set_header_path",
"url":10,
"doc":"set_header_path(path, add) -> bool Set or append a header path. IDA looks for the include files in the appended header paths, then in the ida executable directory. @param path: (C : const char  ) list of directories to add (separated by ';') may be nullptr, in this case nothing is added @param add: (C : bool) true: append. false: remove old paths. @retval true: success @retval false: no memory",
"func":1
},
{
"ref":"ida_expr.get_idc_filename",
"url":10,
"doc":"get_idc_filename(file) -> str Get full name of IDC file name. Search for file in list of include directories, IDCPATH directory and system directories. @param file: (C : const char  ) file name without full path @return: nullptr is file not found. otherwise returns pointer to buf",
"func":1
},
{
"ref":"ida_expr.exec_system_script",
"url":10,
"doc":"exec_system_script(file, complain_if_no_file=True) -> bool Compile and execute \"main\" function from system file. @param file: (C : const char  ) file name with IDC function(s). The file will be searched using get_idc_filename(). @param complain_if_no_file: (C : bool)  1: display warning if the file is not found  0: don't complain if file doesn't exist @retval 1: ok, file is compiled and executed @retval 0: failure, compilation or execution error, warning is displayed",
"func":1
},
{
"ref":"ida_expr.CPL_DEL_MACROS",
"url":10,
"doc":"delete macros at the end of compilation"
},
{
"ref":"ida_expr.CPL_USE_LABELS",
"url":10,
"doc":"allow program labels in the script"
},
{
"ref":"ida_expr.CPL_ONLY_SAFE",
"url":10,
"doc":"allow calls of only thread-safe functions"
},
{
"ref":"ida_expr.compile_idc_snippet",
"url":10,
"doc":"compile_idc_snippet(func, text, resolver=None, only_safe_funcs=False) -> bool Compile text with IDC statements. @param func: (C : const char  ) name of the function to create out of the snippet @param text: (C : const char  ) text to compile @param resolver: (C : idc_resolver_t  ) callback object to get values of undefined variables This object will be called if IDC function contains references to undefined variables. May be nullptr. @param only_safe_funcs: (C : bool) if true, any calls to functions without EXTFUN_SAFE flag will lead to a compilation error. @retval true: ok @retval false: error, see errbuf",
"func":1
},
{
"ref":"ida_expr.exec_idc_script",
"url":10,
"doc":"exec_idc_script(result, path, func, args, argsnum) -> str Compile and execute IDC function(s) from file. @param result: (C : idc_value_t  ) ptr to idc_value_t to hold result of the function. If execution fails, this variable will contain the exception information. You may pass nullptr if you are not interested in the returned value. @param path: (C : const char  ) text file containing text of IDC functions @param func: (C : const char  ) function name to execute @param args: (C : const idc_value_t) array of parameters @param argsnum: (C : size_t) number of parameters to pass to 'fname' This number should be equal to number of parameters the function expects. @retval true: ok @retval false: error, see errbuf",
"func":1
},
{
"ref":"ida_expr.throw_idc_exception",
"url":10,
"doc":"throw_idc_exception(r, desc) -> error_t Create an idc execution exception object. This helper function can be used to return an exception from C code to IDC. In other words this function can be called from idc_func_t() callbacks. Sample usage: if ( !ok ) return throw_idc_exception(r, \"detailed error msg\"); @param r: (C : idc_value_t  ) object to hold the exception object @param desc: (C : const char  ) exception description @return: eExecThrow",
"func":1
},
{
"ref":"ida_expr.idc_values_t",
"url":10,
"doc":"Proxy of C qvector class. __init__(self) -> idc_values_t __init__(self, x) -> idc_values_t @param x: qvector const &"
},
{
"ref":"ida_expr.idc_values_t.thisown",
"url":10,
"doc":"The membership flag"
},
{
"ref":"ida_expr.idc_values_t.push_back",
"url":10,
"doc":"push_back(self, x) @param x: idc_value_t const & push_back(self) -> idc_value_t",
"func":1
},
{
"ref":"ida_expr.idc_values_t.pop_back",
"url":10,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_expr.idc_values_t.size",
"url":10,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_expr.idc_values_t.empty",
"url":10,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_expr.idc_values_t.at",
"url":10,
"doc":"at(self, _idx) -> idc_value_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_expr.idc_values_t.qclear",
"url":10,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_expr.idc_values_t.clear",
"url":10,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_expr.idc_values_t.resize",
"url":10,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: idc_value_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_expr.idc_values_t.grow",
"url":10,
"doc":"grow(self, x=idc_value_t( @param x: idc_value_t const &",
"func":1
},
{
"ref":"ida_expr.idc_values_t.capacity",
"url":10,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_expr.idc_values_t.reserve",
"url":10,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_expr.idc_values_t.truncate",
"url":10,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_expr.idc_values_t.swap",
"url":10,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_expr.idc_values_t.extract",
"url":10,
"doc":"extract(self) -> idc_value_t",
"func":1
},
{
"ref":"ida_expr.idc_values_t.inject",
"url":10,
"doc":"inject(self, s, len) @param s: idc_value_t  @param len: size_t",
"func":1
},
{
"ref":"ida_expr.idc_values_t.begin",
"url":10,
"doc":"begin(self) -> idc_value_t",
"func":1
},
{
"ref":"ida_expr.idc_values_t.end",
"url":10,
"doc":"end(self) -> idc_value_t",
"func":1
},
{
"ref":"ida_expr.idc_values_t.insert",
"url":10,
"doc":"insert(self, it, x) -> idc_value_t @param it: qvector  iterator @param x: idc_value_t const &",
"func":1
},
{
"ref":"ida_expr.idc_values_t.erase",
"url":10,
"doc":"erase(self, it) -> idc_value_t @param it: qvector  iterator erase(self, first, last) -> idc_value_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_expr.idc_values_t.front",
"url":10,
"doc":"",
"func":1
},
{
"ref":"ida_expr.idc_values_t.back",
"url":10,
"doc":"",
"func":1
},
{
"ref":"ida_expr.EXTFUN_BASE",
"url":10,
"doc":"requires open database."
},
{
"ref":"ida_expr.EXTFUN_NORET",
"url":10,
"doc":"does not return. the interpreter may clean up its state before calling it."
},
{
"ref":"ida_expr.EXTFUN_SAFE",
"url":10,
"doc":"thread safe function. may be called from any thread."
},
{
"ref":"ida_expr.del_idc_func",
"url":10,
"doc":"Unregisters the specified IDC function Delete an IDC function",
"func":1
},
{
"ref":"ida_expr.add_idc_func",
"url":10,
"doc":"Extends the IDC language by exposing a new IDC function that is backed up by a Python function Add an IDC function. This function does not modify the predefined kernel functions. Example: static error_t idaapi myfunc5(idc_value_t  argv, idc_value_t  res) { msg(\"myfunc is called with arg0=%a and arg1=%s\\n\", argv[0].num, argv[1].str); res->num = 5;  let's return 5 return eOk; } static const char myfunc5_args[] = { VT_LONG, VT_STR, 0 }; static const ext_idcfunc_t myfunc_desc = { \"MyFunc5\", myfunc5, myfunc5_args, nullptr, 0, EXTFUN_BASE };  after this: add_idc_func(myfunc_desc);  there is a new IDC function which can be called like this: MyFunc5(0x123, \"test\"); @note: If the function already exists, it will be replaced by the new function @return: success",
"func":1
},
{
"ref":"ida_fixup",
"url":11,
"doc":"Functions that deal with fixup information. A loader should setup fixup information using set_fixup()."
},
{
"ref":"ida_fixup.FIXUP_OFF8",
"url":11,
"doc":"8-bit offset"
},
{
"ref":"ida_fixup.FIXUP_OFF16",
"url":11,
"doc":"16-bit offset"
},
{
"ref":"ida_fixup.FIXUP_SEG16",
"url":11,
"doc":"16-bit base-logical segment base (selector)"
},
{
"ref":"ida_fixup.FIXUP_PTR16",
"url":11,
"doc":"32-bit long pointer (16-bit base:16-bit offset)"
},
{
"ref":"ida_fixup.FIXUP_OFF32",
"url":11,
"doc":"32-bit offset"
},
{
"ref":"ida_fixup.FIXUP_PTR32",
"url":11,
"doc":"48-bit pointer (16-bit base:32-bit offset)"
},
{
"ref":"ida_fixup.FIXUP_HI8",
"url":11,
"doc":"high 8 bits of 16bit offset"
},
{
"ref":"ida_fixup.FIXUP_HI16",
"url":11,
"doc":"high 16 bits of 32bit offset"
},
{
"ref":"ida_fixup.FIXUP_LOW8",
"url":11,
"doc":"low 8 bits of 16bit offset"
},
{
"ref":"ida_fixup.FIXUP_LOW16",
"url":11,
"doc":"low 16 bits of 32bit offset"
},
{
"ref":"ida_fixup.V695_FIXUP_VHIGH",
"url":11,
"doc":"obsolete"
},
{
"ref":"ida_fixup.V695_FIXUP_VLOW",
"url":11,
"doc":"obsolete"
},
{
"ref":"ida_fixup.FIXUP_OFF64",
"url":11,
"doc":"64-bit offset"
},
{
"ref":"ida_fixup.FIXUP_OFF8S",
"url":11,
"doc":"8-bit signed offset"
},
{
"ref":"ida_fixup.FIXUP_OFF16S",
"url":11,
"doc":"16-bit signed offset"
},
{
"ref":"ida_fixup.FIXUP_OFF32S",
"url":11,
"doc":"32-bit signed offset"
},
{
"ref":"ida_fixup.FIXUP_CUSTOM",
"url":11,
"doc":"start of the custom types range"
},
{
"ref":"ida_fixup.is_fixup_custom",
"url":11,
"doc":"is_fixup_custom(type) -> bool Is fixup processed by processor module? @param type: (C : fixup_type_t)",
"func":1
},
{
"ref":"ida_fixup.FIXUPF_REL",
"url":11,
"doc":"fixup is relative to the linear address  base . Otherwise fixup is relative to the start of the segment with  sel selector."
},
{
"ref":"ida_fixup.FIXUPF_EXTDEF",
"url":11,
"doc":"target is a location (otherwise - segment). Use this bit if the target is a symbol rather than an offset from the beginning of a segment."
},
{
"ref":"ida_fixup.FIXUPF_UNUSED",
"url":11,
"doc":"fixup is ignored by IDA  disallows the kernel to convert operands  this fixup is not used during output"
},
{
"ref":"ida_fixup.FIXUPF_CREATED",
"url":11,
"doc":"fixup was not present in the input file"
},
{
"ref":"ida_fixup.FIXUPF_LOADER_MASK",
"url":11,
"doc":"additional flags. The bits from this mask are not stored in the database and can be used by the loader at its discretion."
},
{
"ref":"ida_fixup.fixup_data_t",
"url":11,
"doc":"Proxy of C fixup_data_t class. __init__(self) -> fixup_data_t __init__(self, type_, flags_=0) -> fixup_data_t @param type_: fixup_type_t @param flags_: uint32"
},
{
"ref":"ida_fixup.fixup_data_t.thisown",
"url":11,
"doc":"The membership flag"
},
{
"ref":"ida_fixup.fixup_data_t.sel",
"url":11,
"doc":"selector of the target segment. BADSEL means an absolute (zero based) target. @see: FIXUPF_REL"
},
{
"ref":"ida_fixup.fixup_data_t.off",
"url":11,
"doc":"target offset @note: The target is calculated as  get_base() + off ."
},
{
"ref":"ida_fixup.fixup_data_t.displacement",
"url":11,
"doc":"displacement (offset from the target)"
},
{
"ref":"ida_fixup.fixup_data_t.get_type",
"url":11,
"doc":"get_type(self) -> fixup_type_t Fixup type Types of fixups.",
"func":1
},
{
"ref":"ida_fixup.fixup_data_t.set_type",
"url":11,
"doc":"set_type(self, type_) @param type_: fixup_type_t",
"func":1
},
{
"ref":"ida_fixup.fixup_data_t.set_type_and_flags",
"url":11,
"doc":"set_type_and_flags(self, type_, flags_=0) @param type_: fixup_type_t @param flags_: uint32",
"func":1
},
{
"ref":"ida_fixup.fixup_data_t.is_custom",
"url":11,
"doc":"is_custom(self) -> bool is_fixup_custom()",
"func":1
},
{
"ref":"ida_fixup.fixup_data_t.get_flags",
"url":11,
"doc":"get_flags(self) -> uint32 Fixup flags Fixup flags.",
"func":1
},
{
"ref":"ida_fixup.fixup_data_t.is_extdef",
"url":11,
"doc":"is_extdef(self) -> bool",
"func":1
},
{
"ref":"ida_fixup.fixup_data_t.set_extdef",
"url":11,
"doc":"set_extdef(self)",
"func":1
},
{
"ref":"ida_fixup.fixup_data_t.clr_extdef",
"url":11,
"doc":"clr_extdef(self)",
"func":1
},
{
"ref":"ida_fixup.fixup_data_t.is_unused",
"url":11,
"doc":"is_unused(self) -> bool",
"func":1
},
{
"ref":"ida_fixup.fixup_data_t.set_unused",
"url":11,
"doc":"set_unused(self)",
"func":1
},
{
"ref":"ida_fixup.fixup_data_t.clr_unused",
"url":11,
"doc":"clr_unused(self)",
"func":1
},
{
"ref":"ida_fixup.fixup_data_t.has_base",
"url":11,
"doc":"has_base(self) -> bool Is fixup relative?",
"func":1
},
{
"ref":"ida_fixup.fixup_data_t.was_created",
"url":11,
"doc":"was_created(self) -> bool Is fixup artificial?",
"func":1
},
{
"ref":"ida_fixup.fixup_data_t.get_base",
"url":11,
"doc":"get_base(self) -> ea_t Get base of fixup. @note: The target is calculated as  get_base() + off . @see: FIXUPF_REL",
"func":1
},
{
"ref":"ida_fixup.fixup_data_t.set_base",
"url":11,
"doc":"set_base(self, new_base) Set base of fixup. The target should be set before a call of this function. @param new_base: (C : ea_t)",
"func":1
},
{
"ref":"ida_fixup.fixup_data_t.set_sel",
"url":11,
"doc":"set_sel(self, seg) @param seg: segment_t const  ",
"func":1
},
{
"ref":"ida_fixup.fixup_data_t.set_target_sel",
"url":11,
"doc":"set_target_sel(self) Set selector of fixup to the target. The target should be set before a call of this function.",
"func":1
},
{
"ref":"ida_fixup.fixup_data_t.set",
"url":11,
"doc":"set(self, source) set_fixup() @param source: (C : ea_t)",
"func":1
},
{
"ref":"ida_fixup.fixup_data_t.get",
"url":11,
"doc":"get(self, source) -> bool get_fixup() @param source: (C : ea_t)",
"func":1
},
{
"ref":"ida_fixup.fixup_data_t.get_handler",
"url":11,
"doc":"get_handler(self) -> fixup_handler_t const  get_fixup_handler()",
"func":1
},
{
"ref":"ida_fixup.fixup_data_t.get_desc",
"url":11,
"doc":"get_desc(self, source) -> char const  get_fixup_desc() @param source: (C : ea_t)",
"func":1
},
{
"ref":"ida_fixup.fixup_data_t.calc_size",
"url":11,
"doc":"calc_size(self) -> int calc_fixup_size()",
"func":1
},
{
"ref":"ida_fixup.fixup_data_t.get_value",
"url":11,
"doc":"get_value(self, ea) -> uval_t get_fixup_value() @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_fixup.fixup_data_t.patch_value",
"url":11,
"doc":"patch_value(self, ea) -> bool patch_fixup_value() @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_fixup.get_fixup",
"url":11,
"doc":"get_fixup(fd, source) -> bool Get fixup information. @param fd: (C : fixup_data_t  ) @param source: (C : ea_t)",
"func":1
},
{
"ref":"ida_fixup.exists_fixup",
"url":11,
"doc":"exists_fixup(source) -> bool Check that a fixup exists at the given address. @param source: (C : ea_t)",
"func":1
},
{
"ref":"ida_fixup.set_fixup",
"url":11,
"doc":"set_fixup(source, fd) Set fixup information. You should fill fixup_data_t and call this function and the kernel will remember information in the database. @param source: (C : ea_t) the fixup source address, i.e. the address modified by the fixup @param fd: (C : const fixup_data_t &) fixup data",
"func":1
},
{
"ref":"ida_fixup.del_fixup",
"url":11,
"doc":"del_fixup(source) Delete fixup information. @param source: (C : ea_t)",
"func":1
},
{
"ref":"ida_fixup.get_first_fixup_ea",
"url":11,
"doc":"get_first_fixup_ea() -> ea_t",
"func":1
},
{
"ref":"ida_fixup.get_next_fixup_ea",
"url":11,
"doc":"get_next_fixup_ea(ea) -> ea_t Find next address with fixup information @param ea: (C : ea_t) current address @return: the next address with fixup information, or BADADDR",
"func":1
},
{
"ref":"ida_fixup.get_prev_fixup_ea",
"url":11,
"doc":"get_prev_fixup_ea(ea) -> ea_t Find previous address with fixup information @param ea: (C : ea_t) current address @return: the previous address with fixup information, or BADADDR",
"func":1
},
{
"ref":"ida_fixup.get_fixup_handler",
"url":11,
"doc":"get_fixup_handler(type) -> fixup_handler_t const  Get handler of standard or custom fixup. @param type: (C : fixup_type_t)",
"func":1
},
{
"ref":"ida_fixup.get_fixup_value",
"url":11,
"doc":"get_fixup_value(ea, type) -> uval_t Get the operand value. This function get fixup bytes from data or an instruction at  ea and convert them to the operand value (maybe partially). It is opposite in meaning to the  patch_fixup_value() . For example, FIXUP_HI8 read a byte at  ea and shifts it left by 8 bits, or AArch64's custom fixup BRANCH26 get low 26 bits of the insn at  ea and shifts it left by 2 bits. This function is mainly used to get a relocation addend. @param ea: (C : ea_t) address to get fixup bytes from, the size of the fixup bytes depends on the fixup type. @see: fixup_handler_t size @param type: (C : fixup_type_t) fixup type @retval operand: value",
"func":1
},
{
"ref":"ida_fixup.patch_fixup_value",
"url":11,
"doc":"patch_fixup_value(ea, fd) -> bool Patch the fixup bytes. This function updates data or an instruction at  ea to the fixup bytes. For example, FIXUP_HI8 updates a byte at  ea to the high byte of  fd->off , or AArch64's custom fixup BRANCH26 updates low 26 bits of the insn at  ea to the value of  fd->off shifted right by 2. @param ea: (C : ea_t) address where data are changed, the size of the changed data depends on the fixup type. @see: fixup_handler_t size @param fd: (C : const fixup_data_t &) fixup data @retval false: the fixup bytes do not fit (e.g.  fd->off is greater than 0xFFFFFFC for BRANCH26). The database is changed even in this case.",
"func":1
},
{
"ref":"ida_fixup.get_fixup_desc",
"url":11,
"doc":"get_fixup_desc(source, fd) -> str Get FIXUP description comment. @param source: (C : ea_t) @param fd: (C : const fixup_data_t &) fixup_data_t const &",
"func":1
},
{
"ref":"ida_fixup.calc_fixup_size",
"url":11,
"doc":"calc_fixup_size(type) -> int Calculate size of fixup in bytes (the number of bytes the fixup patches) @retval -1: means error @param type: (C : fixup_type_t)",
"func":1
},
{
"ref":"ida_fixup.find_custom_fixup",
"url":11,
"doc":"find_custom_fixup(name) -> fixup_type_t Get id of a custom fixup handler. @param name: (C : const char  ) name of the custom fixup handler @return: id with FIXUP_CUSTOM bit set or 0",
"func":1
},
{
"ref":"ida_fixup.fixup_info_t",
"url":11,
"doc":"Proxy of C fixup_info_t class. __init__(self) -> fixup_info_t"
},
{
"ref":"ida_fixup.fixup_info_t.thisown",
"url":11,
"doc":"The membership flag"
},
{
"ref":"ida_fixup.fixup_info_t.ea",
"url":11,
"doc":"ea"
},
{
"ref":"ida_fixup.fixup_info_t.fd",
"url":11,
"doc":"fd"
},
{
"ref":"ida_fixup.get_fixups",
"url":11,
"doc":"get_fixups(out, ea, size) -> bool @param out: fixups_t  @param ea: ea_t @param size: asize_t",
"func":1
},
{
"ref":"ida_fixup.contains_fixups",
"url":11,
"doc":"contains_fixups(ea, size) -> bool Does the specified address range contain any fixup information? @param ea: (C : ea_t) @param size: (C : asize_t)",
"func":1
},
{
"ref":"ida_fixup.gen_fix_fixups",
"url":11,
"doc":"gen_fix_fixups(_from, to, size) Relocate the bytes with fixup information once more (generic function). This function may be called from loader_t move_segm() if it suits the goal. If loader_t move_segm is not defined then this function will be called automatically when moving segments or rebasing the entire program. Special parameter values (from = BADADDR, size = 0, to = delta) are used when the function is called from rebase_program(delta). @param from: (C : ea_t) @param to: (C : ea_t) @param size: (C : asize_t)",
"func":1
},
{
"ref":"ida_fixup.handle_fixups_in_macro",
"url":11,
"doc":"handle_fixups_in_macro(ri, ea, other, macro_reft_and_flags) -> bool Handle two fixups in a macro. We often combine two instruction that load parts of a value into one macro instruction. For example: ARM: ADRP X0,  var@PAGE ADD X0, X0,  var@PAGEOFF  > ADRL X0, var MIPS: lui $v0, %hi(var) addiu $v0, $v0, %lo(var)  > la $v0, var When applying the fixups that fall inside such a macro, we should convert them to one refinfo. This function does exactly that. It should be called from the apply() callback of a custom fixup. @param ri: (C : refinfo_t  ) @param ea: (C : ea_t) @param other: (C : fixup_type_t) @param macro_reft_and_flags: (C : uint32) @return: success ('false' means that RI was not changed)",
"func":1
},
{
"ref":"ida_fpro",
"url":12,
"doc":"System independent counterparts of FILE related functions from Clib. You should not use C standard I/O functions in your modules. The reason: Each module compiled with Borland (and statically linked to Borland's library) will host a copy of the FILE  information. So, if you open a file in the plugin and pass the handle to the kernel, the kernel will not be able to use it. If you really need to use the standard functions, define USE_STANDARD_FILE_FUNCTIONS. In this case do not mix them with q . functions."
},
{
"ref":"ida_fpro.qfile_t",
"url":12,
"doc":"A helper class to work with FILE related functions. __init__(self, rhs) -> qfile_t @param rhs: qfile_t const & __init__(self, pycapsule=None) -> qfile_t @param pycapsule: PyObject  "
},
{
"ref":"ida_fpro.qfile_t.thisown",
"url":12,
"doc":"The membership flag"
},
{
"ref":"ida_fpro.qfile_t.opened",
"url":12,
"doc":"opened(self) -> bool Checks if the file is opened or not",
"func":1
},
{
"ref":"ida_fpro.qfile_t.close",
"url":12,
"doc":"close(self) Closes the file",
"func":1
},
{
"ref":"ida_fpro.qfile_t.open",
"url":12,
"doc":"open(self, filename, mode) -> bool Opens a file @param filename: the file name @param mode: The mode string, ala fopen() style @return: Boolean",
"func":1
},
{
"ref":"ida_fpro.qfile_t.from_fp",
"url":12,
"doc":"from_fp(fp) -> qfile_t @param fp: FILE  ",
"func":1
},
{
"ref":"ida_fpro.qfile_t.from_capsule",
"url":12,
"doc":"from_capsule(pycapsule) -> qfile_t @param pycapsule: PyObject  ",
"func":1
},
{
"ref":"ida_fpro.qfile_t.tmpfile",
"url":12,
"doc":"tmpfile() -> qfile_t A static method to construct an instance using a temporary file",
"func":1
},
{
"ref":"ida_fpro.qfile_t.get_fp",
"url":12,
"doc":"get_fp(self) -> FILE  ",
"func":1
},
{
"ref":"ida_fpro.qfile_t.seek",
"url":12,
"doc":"seek(self, offset, whence=SEEK_SET) -> int Set input source position @param offset: int64 @param whence: int @return: the new position (not 0 as fseek!)",
"func":1
},
{
"ref":"ida_fpro.qfile_t.tell",
"url":12,
"doc":"tell(self) -> int64 Returns the current position",
"func":1
},
{
"ref":"ida_fpro.qfile_t.readbytes",
"url":12,
"doc":"readbytes(self, size, big_endian) -> PyObject  Similar to read() but it respect the endianness @param size: int @param big_endian: bool",
"func":1
},
{
"ref":"ida_fpro.qfile_t.read",
"url":12,
"doc":"read(self, size) -> PyObject  Reads from the file. Returns the buffer or None @param size: int",
"func":1
},
{
"ref":"ida_fpro.qfile_t.gets",
"url":12,
"doc":"gets(self, size) -> PyObject  Reads a line from the input file. Returns the read line or None @param size: int",
"func":1
},
{
"ref":"ida_fpro.qfile_t.writebytes",
"url":12,
"doc":"writebytes(self, py_buf, big_endian) -> int Similar to write() but it respect the endianness @param py_buf: PyObject  @param big_endian: bool",
"func":1
},
{
"ref":"ida_fpro.qfile_t.write",
"url":12,
"doc":"write(self, py_buf) -> int Writes to the file. Returns 0 or the number of bytes written @param py_buf: PyObject  ",
"func":1
},
{
"ref":"ida_fpro.qfile_t.puts",
"url":12,
"doc":"puts(self, str) -> int @param str: char const  ",
"func":1
},
{
"ref":"ida_fpro.qfile_t.size",
"url":12,
"doc":"size(self) -> int64",
"func":1
},
{
"ref":"ida_fpro.qfile_t.flush",
"url":12,
"doc":"flush(self) -> int",
"func":1
},
{
"ref":"ida_fpro.qfile_t.filename",
"url":12,
"doc":"filename(self) -> PyObject  ",
"func":1
},
{
"ref":"ida_fpro.qfile_t.get_byte",
"url":12,
"doc":"get_byte(self) -> PyObject  Reads a single byte from the file. Returns None if EOF or the read byte",
"func":1
},
{
"ref":"ida_fpro.qfile_t.put_byte",
"url":12,
"doc":"put_byte(self, chr) -> int Writes a single byte to the file @param chr: int",
"func":1
},
{
"ref":"ida_fpro.qfclose",
"url":12,
"doc":"qfclose(fp) -> int @param fp: FILE  ",
"func":1
},
{
"ref":"ida_fpro.qfile_t_from_fp",
"url":12,
"doc":"from_fp(fp) -> qfile_t @param fp: FILE  ",
"func":1
},
{
"ref":"ida_fpro.qfile_t_from_capsule",
"url":12,
"doc":"from_capsule(pycapsule) -> qfile_t @param pycapsule: PyObject  ",
"func":1
},
{
"ref":"ida_fpro.qfile_t_tmpfile",
"url":12,
"doc":"tmpfile() -> qfile_t A static method to construct an instance using a temporary file",
"func":1
},
{
"ref":"ida_frame",
"url":13,
"doc":"Routines to manipulate function stack frames, stack variables, register variables and local labels. The frame is represented as a structure: +                        + | function arguments | +                        + | return address (isn't stored in func_t) | +                        + | saved registers (SI, DI, etc - func_t frregs) | +                        + <- typical BP | | | | | | func_t fpd | | | | | <- real BP | local variables (func_t frsize) | | | | | +                        + <- SP To access the structure of a function frame, use:  tinfo_t get_func_frame(const func_t  pfn) (the preferred way)  get_func_frame(tinfo_t  out, const func_t  pfn)"
},
{
"ref":"ida_frame.xreflist_t",
"url":13,
"doc":"Proxy of C qvector class. __init__(self) -> xreflist_t __init__(self, x) -> xreflist_t @param x: qvector const &"
},
{
"ref":"ida_frame.xreflist_t.thisown",
"url":13,
"doc":"The membership flag"
},
{
"ref":"ida_frame.xreflist_t.push_back",
"url":13,
"doc":"push_back(self, x) @param x: xreflist_entry_t const & push_back(self) -> xreflist_entry_t",
"func":1
},
{
"ref":"ida_frame.xreflist_t.pop_back",
"url":13,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_frame.xreflist_t.size",
"url":13,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_frame.xreflist_t.empty",
"url":13,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_frame.xreflist_t.at",
"url":13,
"doc":"at(self, _idx) -> xreflist_entry_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_frame.xreflist_t.qclear",
"url":13,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_frame.xreflist_t.clear",
"url":13,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_frame.xreflist_t.resize",
"url":13,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: xreflist_entry_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_frame.xreflist_t.grow",
"url":13,
"doc":"grow(self, x=xreflist_entry_t( @param x: xreflist_entry_t const &",
"func":1
},
{
"ref":"ida_frame.xreflist_t.capacity",
"url":13,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_frame.xreflist_t.reserve",
"url":13,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_frame.xreflist_t.truncate",
"url":13,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_frame.xreflist_t.swap",
"url":13,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_frame.xreflist_t.extract",
"url":13,
"doc":"extract(self) -> xreflist_entry_t",
"func":1
},
{
"ref":"ida_frame.xreflist_t.inject",
"url":13,
"doc":"inject(self, s, len) @param s: xreflist_entry_t  @param len: size_t",
"func":1
},
{
"ref":"ida_frame.xreflist_t.begin",
"url":13,
"doc":"begin(self) -> xreflist_entry_t",
"func":1
},
{
"ref":"ida_frame.xreflist_t.end",
"url":13,
"doc":"end(self) -> xreflist_entry_t",
"func":1
},
{
"ref":"ida_frame.xreflist_t.insert",
"url":13,
"doc":"insert(self, it, x) -> xreflist_entry_t @param it: qvector  iterator @param x: xreflist_entry_t const &",
"func":1
},
{
"ref":"ida_frame.xreflist_t.erase",
"url":13,
"doc":"erase(self, it) -> xreflist_entry_t @param it: qvector  iterator erase(self, first, last) -> xreflist_entry_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_frame.xreflist_t.find",
"url":13,
"doc":"find(self, x) -> xreflist_entry_t @param x: xreflist_entry_t const &",
"func":1
},
{
"ref":"ida_frame.xreflist_t.has",
"url":13,
"doc":"has(self, x) -> bool @param x: xreflist_entry_t const &",
"func":1
},
{
"ref":"ida_frame.xreflist_t.add_unique",
"url":13,
"doc":"add_unique(self, x) -> bool @param x: xreflist_entry_t const &",
"func":1
},
{
"ref":"ida_frame.xreflist_t.front",
"url":13,
"doc":"",
"func":1
},
{
"ref":"ida_frame.xreflist_t.back",
"url":13,
"doc":"",
"func":1
},
{
"ref":"ida_frame.is_funcarg_off",
"url":13,
"doc":"is_funcarg_off(pfn, frameoff) -> bool @param pfn: func_t const  @param frameoff: uval_t",
"func":1
},
{
"ref":"ida_frame.lvar_off",
"url":13,
"doc":"lvar_off(pfn, frameoff) -> sval_t @param pfn: func_t const  @param frameoff: uval_t",
"func":1
},
{
"ref":"ida_frame.stkpnt_t",
"url":13,
"doc":"Proxy of C stkpnt_t class. __init__(self) -> stkpnt_t"
},
{
"ref":"ida_frame.stkpnt_t.thisown",
"url":13,
"doc":"The membership flag"
},
{
"ref":"ida_frame.stkpnt_t.ea",
"url":13,
"doc":"ea"
},
{
"ref":"ida_frame.stkpnt_t.spd",
"url":13,
"doc":"spd"
},
{
"ref":"ida_frame.stkpnt_t.compare",
"url":13,
"doc":"compare(self, r) -> int @param r: stkpnt_t const &",
"func":1
},
{
"ref":"ida_frame.stkpnts_t",
"url":13,
"doc":"Proxy of C stkpnts_t class. __init__(self) -> stkpnts_t"
},
{
"ref":"ida_frame.stkpnts_t.thisown",
"url":13,
"doc":"The membership flag"
},
{
"ref":"ida_frame.stkpnts_t.compare",
"url":13,
"doc":"compare(self, r) -> int @param r: stkpnts_t const &",
"func":1
},
{
"ref":"ida_frame.add_frame",
"url":13,
"doc":"add_frame(pfn, frsize, frregs, argsize) -> bool Add function frame. @param pfn: (C : func_t  ) pointer to function structure @param frsize: (C : sval_t) size of function local variables @param frregs: (C : ushort) size of saved registers @param argsize: (C : asize_t) size of function arguments range which will be purged upon return. this parameter is used for __stdcall and __pascal calling conventions. for other calling conventions please pass 0. @retval 1: ok @retval 0: failed (no function, frame already exists)",
"func":1
},
{
"ref":"ida_frame.del_frame",
"url":13,
"doc":"del_frame(pfn) -> bool Delete a function frame. @param pfn: (C : func_t  ) pointer to function structure @return: success",
"func":1
},
{
"ref":"ida_frame.set_frame_size",
"url":13,
"doc":"set_frame_size(pfn, frsize, frregs, argsize) -> bool Set size of function frame. Note: The returned size may not include all stack arguments. It does so only for __stdcall and __fastcall calling conventions. To get the entire frame size for all cases use frame.get_func_frame(pfn).get_size() @param pfn: (C : func_t  ) pointer to function structure @param frsize: (C : asize_t) size of function local variables @param frregs: (C : ushort) size of saved registers @param argsize: (C : asize_t) size of function arguments that will be purged from the stack upon return @return: success",
"func":1
},
{
"ref":"ida_frame.get_frame_size",
"url":13,
"doc":"get_frame_size(pfn) -> asize_t Get full size of a function frame. This function takes into account size of local variables + size of saved registers + size of return address + number of purged bytes. The purged bytes correspond to the arguments of the functions with __stdcall and __fastcall calling conventions. @param pfn: (C : const func_t  ) pointer to function structure, may be nullptr @return: size of frame in bytes or zero",
"func":1
},
{
"ref":"ida_frame.get_frame_retsize",
"url":13,
"doc":"get_frame_retsize(pfn) -> int Get size of function return address. @param pfn: (C : const func_t  ) pointer to function structure, can't be nullptr",
"func":1
},
{
"ref":"ida_frame.get_frame_part",
"url":13,
"doc":"get_frame_part(range, pfn, part) Get offsets of the frame part in the frame. @param range: (C : range_t  ) pointer to the output buffer with the frame part start/end(exclusive) offsets, can't be nullptr @param pfn: (C : const func_t  ) pointer to function structure, can't be nullptr @param part: (C : frame_part_t) frame part",
"func":1
},
{
"ref":"ida_frame.frame_off_args",
"url":13,
"doc":"frame_off_args(pfn) -> ea_t Get starting address of arguments section. @param pfn: (C : const func_t  ) func_t const  ",
"func":1
},
{
"ref":"ida_frame.frame_off_retaddr",
"url":13,
"doc":"frame_off_retaddr(pfn) -> ea_t Get starting address of return address section. @param pfn: (C : const func_t  ) func_t const  ",
"func":1
},
{
"ref":"ida_frame.frame_off_savregs",
"url":13,
"doc":"frame_off_savregs(pfn) -> ea_t Get starting address of saved registers section. @param pfn: (C : const func_t  ) func_t const  ",
"func":1
},
{
"ref":"ida_frame.frame_off_lvars",
"url":13,
"doc":"frame_off_lvars(pfn) -> ea_t Get start address of local variables section. @param pfn: (C : const func_t  ) func_t const  ",
"func":1
},
{
"ref":"ida_frame.get_func_frame",
"url":13,
"doc":"get_func_frame(out, pfn) -> bool @param out: tinfo_t  @param pfn: func_t const  ",
"func":1
},
{
"ref":"ida_frame.soff_to_fpoff",
"url":13,
"doc":"soff_to_fpoff(pfn, soff) -> sval_t Convert struct offsets into fp-relative offsets. This function converts the offsets inside the udt_type_data_t object into the frame pointer offsets (for example, EBP-relative). @param pfn: (C : func_t  ) @param soff: (C : uval_t)",
"func":1
},
{
"ref":"ida_frame.update_fpd",
"url":13,
"doc":"update_fpd(pfn, fpd) -> bool Update frame pointer delta. @param pfn: (C : func_t  ) pointer to function structure @param fpd: (C : asize_t) new fpd value. cannot be bigger than the local variable range size. @return: success",
"func":1
},
{
"ref":"ida_frame.set_purged",
"url":13,
"doc":"set_purged(ea, nbytes, override_old_value) -> bool Set the number of purged bytes for a function or data item (funcptr). This function will update the database and plan to reanalyze items referencing the specified address. It works only for processors with PR_PURGING bit in 16 and 32 bit modes. @param ea: (C : ea_t) address of the function of item @param nbytes: (C : int) number of purged bytes @param override_old_value: (C : bool) may overwrite old information about purged bytes @return: success",
"func":1
},
{
"ref":"ida_frame.STKVAR_VALID_SIZE",
"url":13,
"doc":"x.dtyp contains correct variable type (for insns like 'lea' this bit must be off). In general, dr_O references do not allow to determine the variable size"
},
{
"ref":"ida_frame.define_stkvar",
"url":13,
"doc":"define_stkvar(pfn, name, off, tif, repr=None) -> bool Define/redefine a stack variable. @param pfn: (C : func_t  ) pointer to function @param name: (C : const char  ) variable name, nullptr means autogenerate a name @param off: (C : sval_t) offset of the stack variable in the frame. negative values denote local variables, positive - function arguments. @param tif: (C : const tinfo_t &) variable type @param repr: (C : const struct value_repr_t  ) variable representation @return: success",
"func":1
},
{
"ref":"ida_frame.add_frame_member",
"url":13,
"doc":"add_frame_member(pfn, name, offset, tif, repr=None, etf_flags=0) -> bool Add member to the frame type @param pfn: (C : const func_t  ) pointer to function @param name: (C : const char  ) variable name, nullptr means autogenerate a name @param offset: (C : uval_t) member offset in the frame structure, in bytes @param tif: (C : const tinfo_t &) variable type @param repr: (C : const struct value_repr_t  ) variable representation @param etf_flags: (C : uint) @see: type changing flags @return: success",
"func":1
},
{
"ref":"ida_frame.is_anonymous_member_name",
"url":13,
"doc":"is_anonymous_member_name(name) -> bool Is member name prefixed with \"anonymous\"? @param name: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_frame.is_dummy_member_name",
"url":13,
"doc":"is_dummy_member_name(name) -> bool Is member name an auto-generated name? @param name: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_frame.is_special_frame_member",
"url":13,
"doc":"is_special_frame_member(tid) -> bool Is stkvar with TID the return address slot or the saved registers slot ? @param tid: (C : tid_t) frame member type id return address or saved registers member?",
"func":1
},
{
"ref":"ida_frame.set_frame_member_type",
"url":13,
"doc":"set_frame_member_type(pfn, offset, tif, repr=None, etf_flags=0) -> bool Change type of the frame member @param pfn: (C : const func_t  ) pointer to function @param offset: (C : uval_t) member offset in the frame structure, in bytes @param tif: (C : const tinfo_t &) variable type @param repr: (C : const struct value_repr_t  ) variable representation @param etf_flags: (C : uint) @see: type changing flags @return: success",
"func":1
},
{
"ref":"ida_frame.delete_frame_members",
"url":13,
"doc":"delete_frame_members(pfn, start_offset, end_offset) -> bool Delete frame members @param pfn: (C : const func_t  ) pointer to function @param start_offset: (C : uval_t) member offset to start deletion from, in bytes @param end_offset: (C : uval_t) member offset which not included in the deletion, in bytes @return: success",
"func":1
},
{
"ref":"ida_frame.build_stkvar_name",
"url":13,
"doc":"build_stkvar_name(pfn, v) -> str Build automatic stack variable name. @param pfn: (C : const func_t  ) pointer to function (can't be nullptr!) @param v: (C : sval_t) value of variable offset @return: length of stack variable name or -1",
"func":1
},
{
"ref":"ida_frame.calc_stkvar_struc_offset",
"url":13,
"doc":"calc_stkvar_struc_offset(pfn, insn, n) -> ea_t Calculate offset of stack variable in the frame structure. @param pfn: (C : func_t  ) pointer to function (cannot be nullptr) @param insn: (C : const insn_t &) the instruction @param n: (C : int) 0 UA_MAXOP-1 operand number -1 if error, return BADADDR @return: BADADDR if some error (issue a warning if stack frame is bad)",
"func":1
},
{
"ref":"ida_frame.calc_frame_offset",
"url":13,
"doc":"calc_frame_offset(pfn, off, insn=None, op=None) -> sval_t Calculate the offset of stack variable in the frame. @param pfn: (C : func_t  ) pointer to function (cannot be nullptr) @param off: (C : sval_t) the offset relative to stack pointer or frame pointer @param insn: (C : const insn_t  ) the instruction @param op: (C : const op_t  ) the operand @return: the offset in the frame",
"func":1
},
{
"ref":"ida_frame.free_regvar",
"url":13,
"doc":"free_regvar(v) @param v: regvar_t  ",
"func":1
},
{
"ref":"ida_frame.regvar_t",
"url":13,
"doc":"Proxy of C regvar_t class. __init__(self) -> regvar_t __init__(self, r) -> regvar_t @param r: regvar_t const &"
},
{
"ref":"ida_frame.regvar_t.thisown",
"url":13,
"doc":"The membership flag"
},
{
"ref":"ida_frame.regvar_t.canon",
"url":13,
"doc":"canonical register name (case-insensitive)"
},
{
"ref":"ida_frame.regvar_t.user",
"url":13,
"doc":"user-defined register name"
},
{
"ref":"ida_frame.regvar_t.cmt",
"url":13,
"doc":"comment to appear near definition"
},
{
"ref":"ida_frame.regvar_t.swap",
"url":13,
"doc":"swap(self, r) @param r: regvar_t &",
"func":1
},
{
"ref":"ida_frame.regvar_t.start_ea",
"url":5,
"doc":"start_ea included"
},
{
"ref":"ida_frame.regvar_t.end_ea",
"url":5,
"doc":"end_ea excluded"
},
{
"ref":"ida_frame.regvar_t.compare",
"url":5,
"doc":"compare(self, r) -> int @param r: range_t const &",
"func":1
},
{
"ref":"ida_frame.regvar_t.contains",
"url":5,
"doc":"contains(self, ea) -> bool Is every ea in 'r' also in this range_t? @param ea: ea_t contains(self, r) -> bool @param r: range_t const &",
"func":1
},
{
"ref":"ida_frame.regvar_t.overlaps",
"url":5,
"doc":"overlaps(self, r) -> bool Is there an ea in 'r' that is also in this range_t? @param r: (C : const range_t &) range_t const &",
"func":1
},
{
"ref":"ida_frame.regvar_t.clear",
"url":5,
"doc":"clear(self) Set start_ea, end_ea to 0.",
"func":1
},
{
"ref":"ida_frame.regvar_t.empty",
"url":5,
"doc":"empty(self) -> bool Is the size of the range_t <= 0?",
"func":1
},
{
"ref":"ida_frame.regvar_t.size",
"url":5,
"doc":"size(self) -> asize_t Get end_ea - start_ea.",
"func":1
},
{
"ref":"ida_frame.regvar_t.intersect",
"url":5,
"doc":"intersect(self, r) Assign the range_t to the intersection between the range_t and 'r'. @param r: (C : const range_t &) range_t const &",
"func":1
},
{
"ref":"ida_frame.regvar_t.extend",
"url":5,
"doc":"extend(self, ea) Ensure that the range_t includes 'ea'. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_frame.add_regvar",
"url":13,
"doc":"add_regvar(pfn, ea1, ea2, canon, user, cmt) -> int Define a register variable. @param pfn: (C : func_t  ) function in which the definition will be created @param ea1: (C : ea_t) ,ea2: range of addresses within the function where the definition will be used @param canon: (C : const char  ) name of a general register @param canon: (C : const char  ) name of a general register @param user: (C : const char  ) user-defined name for the register @param cmt: (C : const char  ) comment for the definition @return: Register variable error codes",
"func":1
},
{
"ref":"ida_frame.REGVAR_ERROR_OK",
"url":13,
"doc":"all ok"
},
{
"ref":"ida_frame.REGVAR_ERROR_ARG",
"url":13,
"doc":"function arguments are bad"
},
{
"ref":"ida_frame.REGVAR_ERROR_RANGE",
"url":13,
"doc":"the definition range is bad"
},
{
"ref":"ida_frame.REGVAR_ERROR_NAME",
"url":13,
"doc":"the provided name(s) can't be accepted"
},
{
"ref":"ida_frame.find_regvar",
"url":13,
"doc":"find_regvar(pfn, ea1, ea2, canon, user) -> regvar_t Find a register variable definition. @param pfn: (C : func_t  ) function in question @param ea1: ea_t @param canon: (C : const char  ) name of a general register @param canon: (C : const char  ) name of a general register @param user: char const  @return: nullptr-not found, otherwise ptr to regvar_t find_regvar(pfn, ea, canon) -> regvar_t @param pfn: func_t  @param ea: ea_t @param canon: char const  ",
"func":1
},
{
"ref":"ida_frame.has_regvar",
"url":13,
"doc":"has_regvar(pfn, ea) -> bool Is there a register variable definition? @param pfn: (C : func_t  ) function in question @param ea: (C : ea_t) current address",
"func":1
},
{
"ref":"ida_frame.rename_regvar",
"url":13,
"doc":"rename_regvar(pfn, v, user) -> int Rename a register variable. @param pfn: (C : func_t  ) function in question @param v: (C : regvar_t  ) variable to rename @param user: (C : const char  ) new user-defined name for the register @return: Register variable error codes",
"func":1
},
{
"ref":"ida_frame.set_regvar_cmt",
"url":13,
"doc":"set_regvar_cmt(pfn, v, cmt) -> int Set comment for a register variable. @param pfn: (C : func_t  ) function in question @param v: (C : regvar_t  ) variable to rename @param cmt: (C : const char  ) new comment @return: Register variable error codes",
"func":1
},
{
"ref":"ida_frame.del_regvar",
"url":13,
"doc":"del_regvar(pfn, ea1, ea2, canon) -> int Delete a register variable definition. @param pfn: (C : func_t  ) function in question @param ea1: (C : ea_t) ,ea2: range of addresses within the function where the definition holds @param canon: (C : const char  ) name of a general register @param canon: (C : const char  ) name of a general register @return: Register variable error codes",
"func":1
},
{
"ref":"ida_frame.add_auto_stkpnt",
"url":13,
"doc":"add_auto_stkpnt(pfn, ea, delta) -> bool Add automatic SP register change point. @param pfn: (C : func_t  ) pointer to the function. may be nullptr. @param ea: (C : ea_t) linear address where SP changes. usually this is the end of the instruction which modifies the stack pointer ( insn_t ea+ insn_t size) @param delta: (C : sval_t) difference between old and new values of SP @return: success",
"func":1
},
{
"ref":"ida_frame.add_user_stkpnt",
"url":13,
"doc":"add_user_stkpnt(ea, delta) -> bool Add user-defined SP register change point. @param ea: (C : ea_t) linear address where SP changes @param delta: (C : sval_t) difference between old and new values of SP @return: success",
"func":1
},
{
"ref":"ida_frame.del_stkpnt",
"url":13,
"doc":"del_stkpnt(pfn, ea) -> bool Delete SP register change point. @param pfn: (C : func_t  ) pointer to the function. may be nullptr. @param ea: (C : ea_t) linear address @return: success",
"func":1
},
{
"ref":"ida_frame.get_spd",
"url":13,
"doc":"get_spd(pfn, ea) -> sval_t Get difference between the initial and current values of ESP. @param pfn: (C : func_t  ) pointer to the function. may be nullptr. @param ea: (C : ea_t) linear address of the instruction @return: 0 or the difference, usually a negative number. returns the sp-diff before executing the instruction.",
"func":1
},
{
"ref":"ida_frame.get_effective_spd",
"url":13,
"doc":"get_effective_spd(pfn, ea) -> sval_t Get effective difference between the initial and current values of ESP. This function returns the sp-diff used by the instruction. The difference between get_spd() and get_effective_spd() is present only for instructions like \"pop [esp+N]\": they modify sp and use the modified value. @param pfn: (C : func_t  ) pointer to the function. may be nullptr. @param ea: (C : ea_t) linear address @return: 0 or the difference, usually a negative number",
"func":1
},
{
"ref":"ida_frame.get_sp_delta",
"url":13,
"doc":"get_sp_delta(pfn, ea) -> sval_t Get modification of SP made at the specified location @param pfn: (C : func_t  ) pointer to the function. may be nullptr. @param ea: (C : ea_t) linear address @return: 0 if the specified location doesn't contain a SP change point. otherwise return delta of SP modification.",
"func":1
},
{
"ref":"ida_frame.set_auto_spd",
"url":13,
"doc":"set_auto_spd(pfn, ea, new_spd) -> bool Add such an automatic SP register change point so that at EA the new cumulative SP delta (that is, the difference between the initial and current values of SP) would be equal to NEW_SPD. @param pfn: (C : func_t  ) pointer to the function. may be nullptr. @param ea: (C : ea_t) linear address of the instruction @param new_spd: (C : sval_t) new value of the cumulative SP delta @return: success",
"func":1
},
{
"ref":"ida_frame.recalc_spd",
"url":13,
"doc":"recalc_spd(cur_ea) -> bool Recalculate SP delta for an instruction that stops execution. The next instruction is not reached from the current instruction. We need to recalculate SP for the next instruction. This function will create a new automatic SP register change point if necessary. It should be called from the emulator (emu.cpp) when auto_state  AU_USED if the current instruction doesn't pass the execution flow to the next instruction. @param cur_ea: (C : ea_t) linear address of the current instruction @retval 1: new stkpnt is added @retval 0: nothing is changed",
"func":1
},
{
"ref":"ida_frame.recalc_spd_for_basic_block",
"url":13,
"doc":"recalc_spd_for_basic_block(pfn, cur_ea) -> bool Recalculate SP delta for the current instruction. The typical code snippet to calculate SP delta in a proc module is: if ( may_trace_sp()  pfn != nullptr ) if ( !recalc_spd_for_basic_block(pfn, insn.ea) ) trace_sp(pfn, insn); where trace_sp() is a typical name for a function that emulates the SP change of an instruction. @param pfn: (C : func_t  ) pointer to the function @param cur_ea: (C : ea_t) linear address of the current instruction @retval true: the cumulative SP delta is set @retval false: the instruction at CUR_EA passes flow to the next instruction. SP delta must be set as a result of emulating the current instruction.",
"func":1
},
{
"ref":"ida_frame.xreflist_entry_t",
"url":13,
"doc":"Proxy of C xreflist_entry_t class. __init__(self) -> xreflist_entry_t"
},
{
"ref":"ida_frame.xreflist_entry_t.thisown",
"url":13,
"doc":"The membership flag"
},
{
"ref":"ida_frame.xreflist_entry_t.ea",
"url":13,
"doc":"Location of the insn referencing the stack frame member."
},
{
"ref":"ida_frame.xreflist_entry_t.opnum",
"url":13,
"doc":"Number of the operand of that instruction."
},
{
"ref":"ida_frame.xreflist_entry_t.type",
"url":13,
"doc":"The type of xref (cref_t & dref_t)"
},
{
"ref":"ida_frame.xreflist_entry_t.compare",
"url":13,
"doc":"compare(self, r) -> int @param r: xreflist_entry_t const &",
"func":1
},
{
"ref":"ida_frame.build_stkvar_xrefs",
"url":13,
"doc":"build_stkvar_xrefs(out, pfn, start_offset, end_offset) Fill 'out' with a list of all the xrefs made from function 'pfn' to specified range of the pfn's stack frame. @param out: (C : xreflist_t  ) the list of xrefs to fill. @param pfn: (C : func_t  ) the function to scan. @param start_offset: (C : uval_t) start frame structure offset, in bytes @param end_offset: (C : uval_t) end frame structure offset, in bytes",
"func":1
},
{
"ref":"ida_funcs",
"url":14,
"doc":"Routines for working with functions within the disassembled program. This file also contains routines for working with library signatures (e.g. FLIRT). Each function consists of function chunks. At least one function chunk must be present in the function definition - the function entry chunk. Other chunks are called function tails. There may be several of them for a function. A function tail is a continuous range of addresses. It can be used in the definition of one or more functions. One function using the tail is singled out and called the tail owner. This function is considered as 'possessing' the tail. get_func() on a tail address will return the function possessing the tail. You can enumerate the functions using the tail by using func_parent_iterator_t. Each function chunk in the disassembly is represented as an \"range\" (a range of addresses, see range.hpp for details) with characteristics. A function entry must start with an instruction (code) byte."
},
{
"ref":"ida_funcs.dyn_stkpnt_array",
"url":14,
"doc":"Proxy of C dynamic_wrapped_array_t class. __init__(self, _data, _count) -> dyn_stkpnt_array @param _data: stkpnt_t  @param _count: size_t"
},
{
"ref":"ida_funcs.dyn_stkpnt_array.thisown",
"url":14,
"doc":"The membership flag"
},
{
"ref":"ida_funcs.dyn_stkpnt_array.data",
"url":14,
"doc":"data"
},
{
"ref":"ida_funcs.dyn_stkpnt_array.count",
"url":14,
"doc":"count"
},
{
"ref":"ida_funcs.dyn_regvar_array",
"url":14,
"doc":"Proxy of C dynamic_wrapped_array_t class. __init__(self, _data, _count) -> dyn_regvar_array @param _data: regvar_t  @param _count: size_t"
},
{
"ref":"ida_funcs.dyn_regvar_array.thisown",
"url":14,
"doc":"The membership flag"
},
{
"ref":"ida_funcs.dyn_regvar_array.data",
"url":14,
"doc":"data"
},
{
"ref":"ida_funcs.dyn_regvar_array.count",
"url":14,
"doc":"count"
},
{
"ref":"ida_funcs.dyn_range_array",
"url":14,
"doc":"Proxy of C dynamic_wrapped_array_t class. __init__(self, _data, _count) -> dyn_range_array @param _data: range_t  @param _count: size_t"
},
{
"ref":"ida_funcs.dyn_range_array.thisown",
"url":14,
"doc":"The membership flag"
},
{
"ref":"ida_funcs.dyn_range_array.data",
"url":14,
"doc":"data"
},
{
"ref":"ida_funcs.dyn_range_array.count",
"url":14,
"doc":"count"
},
{
"ref":"ida_funcs.dyn_ea_array",
"url":14,
"doc":"Proxy of C dynamic_wrapped_array_t class. __init__(self, _data, _count) -> dyn_ea_array @param _data: unsigned long long  @param _count: size_t"
},
{
"ref":"ida_funcs.dyn_ea_array.thisown",
"url":14,
"doc":"The membership flag"
},
{
"ref":"ida_funcs.dyn_ea_array.data",
"url":14,
"doc":"data"
},
{
"ref":"ida_funcs.dyn_ea_array.count",
"url":14,
"doc":"count"
},
{
"ref":"ida_funcs.dyn_regarg_array",
"url":14,
"doc":"Proxy of C dynamic_wrapped_array_t class. __init__(self, _data, _count) -> dyn_regarg_array @param _data: regarg_t  @param _count: size_t"
},
{
"ref":"ida_funcs.dyn_regarg_array.thisown",
"url":14,
"doc":"The membership flag"
},
{
"ref":"ida_funcs.dyn_regarg_array.data",
"url":14,
"doc":"data"
},
{
"ref":"ida_funcs.dyn_regarg_array.count",
"url":14,
"doc":"count"
},
{
"ref":"ida_funcs.free_regarg",
"url":14,
"doc":"free_regarg(v) @param v: regarg_t  ",
"func":1
},
{
"ref":"ida_funcs.regarg_t",
"url":14,
"doc":"Proxy of C regarg_t class. __init__(self) -> regarg_t __init__(self, r) -> regarg_t @param r: regarg_t const &"
},
{
"ref":"ida_funcs.regarg_t.thisown",
"url":14,
"doc":"The membership flag"
},
{
"ref":"ida_funcs.regarg_t.reg",
"url":14,
"doc":"reg"
},
{
"ref":"ida_funcs.regarg_t.type",
"url":14,
"doc":"type"
},
{
"ref":"ida_funcs.regarg_t.name",
"url":14,
"doc":"name"
},
{
"ref":"ida_funcs.regarg_t.swap",
"url":14,
"doc":"swap(self, r) @param r: regarg_t &",
"func":1
},
{
"ref":"ida_funcs.func_t",
"url":14,
"doc":"Proxy of C func_t class. __init__(self, start=0, end=0, f=0) -> func_t @param start: ea_t @param end: ea_t @param f: flags64_t"
},
{
"ref":"ida_funcs.func_t.thisown",
"url":14,
"doc":"The membership flag"
},
{
"ref":"ida_funcs.func_t.flags",
"url":14,
"doc":"Function flags"
},
{
"ref":"ida_funcs.func_t.is_far",
"url":14,
"doc":"is_far(self) -> bool Is a far function?",
"func":1
},
{
"ref":"ida_funcs.func_t.does_return",
"url":14,
"doc":"does_return(self) -> bool Does function return?",
"func":1
},
{
"ref":"ida_funcs.func_t.analyzed_sp",
"url":14,
"doc":"analyzed_sp(self) -> bool Has SP-analysis been performed?",
"func":1
},
{
"ref":"ida_funcs.func_t.need_prolog_analysis",
"url":14,
"doc":"need_prolog_analysis(self) -> bool Needs prolog analysis?",
"func":1
},
{
"ref":"ida_funcs.func_t.frame",
"url":14,
"doc":"netnode id of frame structure - see frame.hpp"
},
{
"ref":"ida_funcs.func_t.frsize",
"url":14,
"doc":"size of local variables part of frame in bytes. If FUNC_FRAME is set and fpd 0, the frame pointer (EBP) is assumed to point to the top of the local variables range."
},
{
"ref":"ida_funcs.func_t.frregs",
"url":14,
"doc":"size of saved registers in frame. This range is immediately above the local variables range."
},
{
"ref":"ida_funcs.func_t.argsize",
"url":14,
"doc":"number of bytes purged from the stack upon returning"
},
{
"ref":"ida_funcs.func_t.fpd",
"url":14,
"doc":"frame pointer delta. (usually 0, i.e. realBP typicalBP) use update_fpd() to modify it."
},
{
"ref":"ida_funcs.func_t.color",
"url":14,
"doc":"user defined function color"
},
{
"ref":"ida_funcs.func_t.pntqty",
"url":14,
"doc":"number of SP change points"
},
{
"ref":"ida_funcs.func_t.points",
"url":14,
"doc":"array of SP change points. use  .stkpnt .() functions to access this array."
},
{
"ref":"ida_funcs.func_t.regvarqty",
"url":14,
"doc":"number of register variables (-1-not read in yet) use find_regvar() to read register variables"
},
{
"ref":"ida_funcs.func_t.regvars",
"url":14,
"doc":"array of register variables. this array is sorted by: start_ea. use  .regvar .() functions to access this array."
},
{
"ref":"ida_funcs.func_t.regargqty",
"url":14,
"doc":"number of register arguments. During analysis IDA tries to guess the register arguments. It stores store the guessing outcome in this field. As soon as it determines the final function prototype, regargqty is set to zero."
},
{
"ref":"ida_funcs.func_t.regargs",
"url":14,
"doc":"unsorted array of register arguments. use  .regarg .() functions to access this array. regargs are destroyed when the full function type is determined."
},
{
"ref":"ida_funcs.func_t.tailqty",
"url":14,
"doc":"number of function tails"
},
{
"ref":"ida_funcs.func_t.tails",
"url":14,
"doc":"array of tails, sorted by ea. use func_tail_iterator_t to access function tails."
},
{
"ref":"ida_funcs.func_t.owner",
"url":14,
"doc":"the address of the main function possessing this tail"
},
{
"ref":"ida_funcs.func_t.refqty",
"url":14,
"doc":"number of referers"
},
{
"ref":"ida_funcs.func_t.referers",
"url":14,
"doc":"array of referers (function start addresses). use func_parent_iterator_t to access the referers."
},
{
"ref":"ida_funcs.func_t.addresses",
"url":14,
"doc":"Alias for func_item_iterator_t(self).addresses()",
"func":1
},
{
"ref":"ida_funcs.func_t.code_items",
"url":14,
"doc":"Alias for func_item_iterator_t(self).code_items()",
"func":1
},
{
"ref":"ida_funcs.func_t.data_items",
"url":14,
"doc":"Alias for func_item_iterator_t(self).data_items()",
"func":1
},
{
"ref":"ida_funcs.func_t.head_items",
"url":14,
"doc":"Alias for func_item_iterator_t(self).head_items()",
"func":1
},
{
"ref":"ida_funcs.func_t.not_tails",
"url":14,
"doc":"Alias for func_item_iterator_t(self).not_tails()",
"func":1
},
{
"ref":"ida_funcs.func_t.start_ea",
"url":5,
"doc":"start_ea included"
},
{
"ref":"ida_funcs.func_t.end_ea",
"url":5,
"doc":"end_ea excluded"
},
{
"ref":"ida_funcs.func_t.compare",
"url":5,
"doc":"compare(self, r) -> int @param r: range_t const &",
"func":1
},
{
"ref":"ida_funcs.func_t.contains",
"url":5,
"doc":"contains(self, ea) -> bool Is every ea in 'r' also in this range_t? @param ea: ea_t contains(self, r) -> bool @param r: range_t const &",
"func":1
},
{
"ref":"ida_funcs.func_t.overlaps",
"url":5,
"doc":"overlaps(self, r) -> bool Is there an ea in 'r' that is also in this range_t? @param r: (C : const range_t &) range_t const &",
"func":1
},
{
"ref":"ida_funcs.func_t.clear",
"url":5,
"doc":"clear(self) Set start_ea, end_ea to 0.",
"func":1
},
{
"ref":"ida_funcs.func_t.empty",
"url":5,
"doc":"empty(self) -> bool Is the size of the range_t <= 0?",
"func":1
},
{
"ref":"ida_funcs.func_t.size",
"url":5,
"doc":"size(self) -> asize_t Get end_ea - start_ea.",
"func":1
},
{
"ref":"ida_funcs.func_t.intersect",
"url":5,
"doc":"intersect(self, r) Assign the range_t to the intersection between the range_t and 'r'. @param r: (C : const range_t &) range_t const &",
"func":1
},
{
"ref":"ida_funcs.func_t.extend",
"url":5,
"doc":"extend(self, ea) Ensure that the range_t includes 'ea'. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_funcs.FUNC_NORET",
"url":14,
"doc":"Function doesn't return."
},
{
"ref":"ida_funcs.FUNC_FAR",
"url":14,
"doc":"Far function."
},
{
"ref":"ida_funcs.FUNC_LIB",
"url":14,
"doc":"Library function."
},
{
"ref":"ida_funcs.FUNC_STATICDEF",
"url":14,
"doc":"Static function."
},
{
"ref":"ida_funcs.FUNC_FRAME",
"url":14,
"doc":"Function uses frame pointer (BP)"
},
{
"ref":"ida_funcs.FUNC_USERFAR",
"url":14,
"doc":"User has specified far-ness of the function"
},
{
"ref":"ida_funcs.FUNC_HIDDEN",
"url":14,
"doc":"A hidden function chunk."
},
{
"ref":"ida_funcs.FUNC_THUNK",
"url":14,
"doc":"Thunk (jump) function."
},
{
"ref":"ida_funcs.FUNC_BOTTOMBP",
"url":14,
"doc":"BP points to the bottom of the stack frame."
},
{
"ref":"ida_funcs.FUNC_NORET_PENDING",
"url":14,
"doc":"Function 'non-return' analysis must be performed. This flag is verified upon func_does_return()"
},
{
"ref":"ida_funcs.FUNC_SP_READY",
"url":14,
"doc":"SP-analysis has been performed. If this flag is on, the stack change points should not be not modified anymore. Currently this analysis is performed only for PC"
},
{
"ref":"ida_funcs.FUNC_FUZZY_SP",
"url":14,
"doc":"Function changes SP in untraceable way, for example: and esp, 0FFFFFFF0h"
},
{
"ref":"ida_funcs.FUNC_PROLOG_OK",
"url":14,
"doc":"Prolog analysis has been performed by last SP-analysis"
},
{
"ref":"ida_funcs.FUNC_PURGED_OK",
"url":14,
"doc":"'argsize' field has been validated. If this bit is clear and 'argsize' is 0, then we do not known the real number of bytes removed from the stack. This bit is handled by the processor module."
},
{
"ref":"ida_funcs.FUNC_TAIL",
"url":14,
"doc":"This is a function tail. Other bits must be clear (except FUNC_HIDDEN)."
},
{
"ref":"ida_funcs.FUNC_LUMINA",
"url":14,
"doc":"Function info is provided by Lumina."
},
{
"ref":"ida_funcs.FUNC_OUTLINE",
"url":14,
"doc":"Outlined code, not a real function."
},
{
"ref":"ida_funcs.FUNC_REANALYZE",
"url":14,
"doc":"Function frame changed, request to reanalyze the function after the last insn is analyzed."
},
{
"ref":"ida_funcs.FUNC_UNWIND",
"url":14,
"doc":"function is an exception unwind handler"
},
{
"ref":"ida_funcs.FUNC_CATCH",
"url":14,
"doc":"function is an exception catch handler"
},
{
"ref":"ida_funcs.is_func_entry",
"url":14,
"doc":"is_func_entry(pfn) -> bool Does function describe a function entry chunk? @param pfn: (C : const func_t  ) func_t const  ",
"func":1
},
{
"ref":"ida_funcs.is_func_tail",
"url":14,
"doc":"is_func_tail(pfn) -> bool Does function describe a function tail chunk? @param pfn: (C : const func_t  ) func_t const  ",
"func":1
},
{
"ref":"ida_funcs.lock_func_range",
"url":14,
"doc":"lock_func_range(pfn, lock) Lock function pointer Locked pointers are guaranteed to remain valid until they are unlocked. Ranges with locked pointers cannot be deleted or moved. @param pfn: (C : const func_t  ) func_t const  @param lock: (C : bool)",
"func":1
},
{
"ref":"ida_funcs.lock_func",
"url":14,
"doc":"Proxy of C lock_func class. __init__(self, _pfn) -> lock_func @param _pfn: func_t const  "
},
{
"ref":"ida_funcs.lock_func.thisown",
"url":14,
"doc":"The membership flag"
},
{
"ref":"ida_funcs.lock_func_with_tails_t",
"url":14,
"doc":"Proxy of C lock_func_with_tails_t class. __init__(self, pfn) -> lock_func_with_tails_t @param pfn: func_t  "
},
{
"ref":"ida_funcs.lock_func_with_tails_t.thisown",
"url":14,
"doc":"The membership flag"
},
{
"ref":"ida_funcs.is_func_locked",
"url":14,
"doc":"is_func_locked(pfn) -> bool Is the function pointer locked? @param pfn: (C : const func_t  ) func_t const  ",
"func":1
},
{
"ref":"ida_funcs.get_func",
"url":14,
"doc":"get_func(ea) -> func_t Get pointer to function structure by address. @param ea: (C : ea_t) any address in a function @return: ptr to a function or nullptr. This function returns a function entry chunk.",
"func":1
},
{
"ref":"ida_funcs.get_func_chunknum",
"url":14,
"doc":"get_func_chunknum(pfn, ea) -> int Get the containing tail chunk of 'ea'. @retval -1: means 'does not contain ea' @retval 0: means the 'pfn' itself contains ea @retval >0: the number of the containing function tail chunk @param pfn: (C : func_t  ) @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_funcs.func_contains",
"url":14,
"doc":"func_contains(pfn, ea) -> bool Does the given function contain the given address? @param pfn: (C : func_t  ) @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_funcs.is_same_func",
"url":14,
"doc":"is_same_func(ea1, ea2) -> bool Do two addresses belong to the same function? @param ea1: (C : ea_t) @param ea2: (C : ea_t)",
"func":1
},
{
"ref":"ida_funcs.getn_func",
"url":14,
"doc":"getn_func(n) -> func_t Get pointer to function structure by number. @param n: (C : size_t) number of function, is in range 0 get_func_qty()-1 @return: ptr to a function or nullptr. This function returns a function entry chunk.",
"func":1
},
{
"ref":"ida_funcs.get_func_qty",
"url":14,
"doc":"get_func_qty() -> size_t Get total number of functions in the program.",
"func":1
},
{
"ref":"ida_funcs.get_func_num",
"url":14,
"doc":"get_func_num(ea) -> int Get ordinal number of a function. @param ea: (C : ea_t) any address in the function @return: number of function (0 get_func_qty()-1). -1 means 'no function at the specified address'.",
"func":1
},
{
"ref":"ida_funcs.get_prev_func",
"url":14,
"doc":"get_prev_func(ea) -> func_t Get pointer to the previous function. @param ea: (C : ea_t) any address in the program @return: ptr to function or nullptr if previous function doesn't exist",
"func":1
},
{
"ref":"ida_funcs.get_next_func",
"url":14,
"doc":"get_next_func(ea) -> func_t Get pointer to the next function. @param ea: (C : ea_t) any address in the program @return: ptr to function or nullptr if next function doesn't exist",
"func":1
},
{
"ref":"ida_funcs.get_func_ranges",
"url":14,
"doc":"get_func_ranges(ranges, pfn) -> ea_t Get function ranges. @param ranges: (C : rangeset_t  ) buffer to receive the range info @param pfn: (C : func_t  ) ptr to function structure @return: end address of the last function range (BADADDR-error)",
"func":1
},
{
"ref":"ida_funcs.get_func_cmt",
"url":14,
"doc":"get_func_cmt(pfn, repeatable) -> str Get function comment. @param pfn: (C : const func_t  ) ptr to function structure @param repeatable: (C : bool) get repeatable comment? @return: size of comment or -1 In fact this function works with function chunks too.",
"func":1
},
{
"ref":"ida_funcs.set_func_cmt",
"url":14,
"doc":"set_func_cmt(pfn, cmt, repeatable) -> bool Set function comment. This function works with function chunks too. @param pfn: (C : const func_t  ) ptr to function structure @param cmt: (C : const char  ) comment string, may be multiline (with ' '). Use empty str ( ) to delete comment @param repeatable: (C : bool) set repeatable comment?",
"func":1
},
{
"ref":"ida_funcs.update_func",
"url":14,
"doc":"update_func(pfn) -> bool Update information about a function in the database (func_t). You must not change the function start and end addresses using this function. Use set_func_start() and set_func_end() for it. @param pfn: (C : func_t  ) ptr to function structure @return: success",
"func":1
},
{
"ref":"ida_funcs.add_func_ex",
"url":14,
"doc":"add_func_ex(pfn) -> bool Add a new function. If the fn->end_ea is BADADDR, then IDA will try to determine the function bounds by calling find_func_bounds( ., FIND_FUNC_DEFINE). @param pfn: (C : func_t  ) ptr to filled function structure @return: success",
"func":1
},
{
"ref":"ida_funcs.add_func",
"url":14,
"doc":"add_func(ea1, ea2=BADADDR) -> bool Add a new function. If the function end address is BADADDR, then IDA will try to determine the function bounds by calling find_func_bounds( ., FIND_FUNC_DEFINE). @param ea1: (C : ea_t) start address @param ea2: (C : ea_t) end address @return: success",
"func":1
},
{
"ref":"ida_funcs.del_func",
"url":14,
"doc":"del_func(ea) -> bool Delete a function. @param ea: (C : ea_t) any address in the function entry chunk @return: success",
"func":1
},
{
"ref":"ida_funcs.set_func_start",
"url":14,
"doc":"set_func_start(ea, newstart) -> int Move function chunk start address. @param ea: (C : ea_t) any address in the function @param newstart: (C : ea_t) new end address of the function @return: Function move result codes",
"func":1
},
{
"ref":"ida_funcs.MOVE_FUNC_OK",
"url":14,
"doc":"ok"
},
{
"ref":"ida_funcs.MOVE_FUNC_NOCODE",
"url":14,
"doc":"no instruction at 'newstart'"
},
{
"ref":"ida_funcs.MOVE_FUNC_BADSTART",
"url":14,
"doc":"bad new start address"
},
{
"ref":"ida_funcs.MOVE_FUNC_NOFUNC",
"url":14,
"doc":"no function at 'ea'"
},
{
"ref":"ida_funcs.MOVE_FUNC_REFUSED",
"url":14,
"doc":"a plugin refused the action"
},
{
"ref":"ida_funcs.set_func_end",
"url":14,
"doc":"set_func_end(ea, newend) -> bool Move function chunk end address. @param ea: (C : ea_t) any address in the function @param newend: (C : ea_t) new end address of the function @return: success",
"func":1
},
{
"ref":"ida_funcs.reanalyze_function",
"url":14,
"doc":"reanalyze_function(pfn, ea1=0, ea2=BADADDR, analyze_parents=False) Reanalyze a function. This function plans to analyzes all chunks of the given function. Optional parameters (ea1, ea2) may be used to narrow the analyzed range. @param pfn: (C : func_t  ) pointer to a function @param ea1: (C : ea_t) start of the range to analyze @param ea2: (C : ea_t) end of range to analyze @param analyze_parents: (C : bool) meaningful only if pfn points to a function tail. if true, all tail parents will be reanalyzed. if false, only the given tail will be reanalyzed.",
"func":1
},
{
"ref":"ida_funcs.find_func_bounds",
"url":14,
"doc":"find_func_bounds(nfn, flags) -> int Determine the boundaries of a new function. This function tries to find the start and end addresses of a new function. It calls the module with processor_t func_bounds in order to fine tune the function boundaries. @param nfn: (C : func_t  ) structure to fill with information \\ nfn->start_ea points to the start address of the new function. @param flags: (C : int) Find function bounds flags @return: Find function bounds result codes",
"func":1
},
{
"ref":"ida_funcs.FIND_FUNC_NORMAL",
"url":14,
"doc":"stop processing if undefined byte is encountered"
},
{
"ref":"ida_funcs.FIND_FUNC_DEFINE",
"url":14,
"doc":"create instruction if undefined byte is encountered"
},
{
"ref":"ida_funcs.FIND_FUNC_IGNOREFN",
"url":14,
"doc":"ignore existing function boundaries. by default the function returns function boundaries if ea belongs to a function."
},
{
"ref":"ida_funcs.FIND_FUNC_KEEPBD",
"url":14,
"doc":"do not modify incoming function boundaries, just create instructions inside the boundaries."
},
{
"ref":"ida_funcs.FIND_FUNC_UNDEF",
"url":14,
"doc":"function has instructions that pass execution flow to unexplored bytes. nfn->end_ea will have the address of the unexplored byte."
},
{
"ref":"ida_funcs.FIND_FUNC_OK",
"url":14,
"doc":"ok, 'nfn' is ready for add_func()"
},
{
"ref":"ida_funcs.FIND_FUNC_EXIST",
"url":14,
"doc":"function exists already. its bounds are returned in 'nfn'."
},
{
"ref":"ida_funcs.get_func_name",
"url":14,
"doc":"get_func_name(ea) -> str Get function name. @param ea: (C : ea_t) any address in the function @return: length of the function name",
"func":1
},
{
"ref":"ida_funcs.calc_func_size",
"url":14,
"doc":"calc_func_size(pfn) -> asize_t Calculate function size. This function takes into account all fragments of the function. @param pfn: (C : func_t  ) ptr to function structure",
"func":1
},
{
"ref":"ida_funcs.get_func_bitness",
"url":14,
"doc":"get_func_bitness(pfn) -> int Get function bitness (which is equal to the function segment bitness). pfn nullptr => returns 0 @retval 0: 16 @retval 1: 32 @retval 2: 64 @param pfn: (C : const func_t  ) func_t const  ",
"func":1
},
{
"ref":"ida_funcs.get_func_bits",
"url":14,
"doc":"get_func_bits(pfn) -> int Get number of bits in the function addressing. @param pfn: (C : const func_t  ) func_t const  ",
"func":1
},
{
"ref":"ida_funcs.get_func_bytes",
"url":14,
"doc":"get_func_bytes(pfn) -> int Get number of bytes in the function addressing. @param pfn: (C : const func_t  ) func_t const  ",
"func":1
},
{
"ref":"ida_funcs.is_visible_func",
"url":14,
"doc":"is_visible_func(pfn) -> bool Is the function visible (not hidden)? @param pfn: (C : func_t  )",
"func":1
},
{
"ref":"ida_funcs.is_finally_visible_func",
"url":14,
"doc":"is_finally_visible_func(pfn) -> bool Is the function visible (event after considering SCF_SHHID_FUNC)? @param pfn: (C : func_t  )",
"func":1
},
{
"ref":"ida_funcs.set_visible_func",
"url":14,
"doc":"set_visible_func(pfn, visible) Set visibility of function. @param pfn: (C : func_t  ) @param visible: (C : bool)",
"func":1
},
{
"ref":"ida_funcs.set_func_name_if_jumpfunc",
"url":14,
"doc":"set_func_name_if_jumpfunc(pfn, oldname) -> int Give a meaningful name to function if it consists of only 'jump' instruction. @param pfn: (C : func_t  ) pointer to function (may be nullptr) @param oldname: (C : const char  ) old name of function. if old name was in \"j_ .\" form, then we may discard it and set a new name. if oldname is not known, you may pass nullptr. @return: success",
"func":1
},
{
"ref":"ida_funcs.calc_thunk_func_target",
"url":14,
"doc":"calc_thunk_func_target(pfn) -> ea_t Calculate target of a thunk function. @param pfn: (C : func_t  ) pointer to function (may not be nullptr) @return: the target function or BADADDR",
"func":1
},
{
"ref":"ida_funcs.func_does_return",
"url":14,
"doc":"func_does_return(callee) -> bool Does the function return?. To calculate the answer, FUNC_NORET flag and is_noret() are consulted The latter is required for imported functions in the .idata section. Since in .idata we have only function pointers but not functions, we have to introduce a special flag for them. @param callee: (C : ea_t)",
"func":1
},
{
"ref":"ida_funcs.reanalyze_noret_flag",
"url":14,
"doc":"reanalyze_noret_flag(ea) -> bool Plan to reanalyze noret flag. This function does not remove FUNC_NORET if it is already present. It just plans to reanalysis. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_funcs.set_noret_insn",
"url":14,
"doc":"set_noret_insn(insn_ea, noret) -> bool Signal a non-returning instruction. This function can be used by the processor module to tell the kernel about non-returning instructions (like call exit). The kernel will perform the global function analysis and find out if the function returns at all. This analysis will be done at the first call to func_does_return() @param insn_ea: (C : ea_t) @param noret: (C : bool) @return: true if the instruction 'noret' flag has been changed",
"func":1
},
{
"ref":"ida_funcs.get_fchunk",
"url":14,
"doc":"get_fchunk(ea) -> func_t Get pointer to function chunk structure by address. @param ea: (C : ea_t) any address in a function chunk @return: ptr to a function chunk or nullptr. This function may return a function entry as well as a function tail.",
"func":1
},
{
"ref":"ida_funcs.getn_fchunk",
"url":14,
"doc":"getn_fchunk(n) -> func_t Get pointer to function chunk structure by number. @param n: (C : int) number of function chunk, is in range 0 get_fchunk_qty()-1 @return: ptr to a function chunk or nullptr. This function may return a function entry as well as a function tail.",
"func":1
},
{
"ref":"ida_funcs.get_fchunk_qty",
"url":14,
"doc":"get_fchunk_qty() -> size_t Get total number of function chunks in the program.",
"func":1
},
{
"ref":"ida_funcs.get_fchunk_num",
"url":14,
"doc":"get_fchunk_num(ea) -> int Get ordinal number of a function chunk in the global list of function chunks. @param ea: (C : ea_t) any address in the function chunk @return: number of function chunk (0 get_fchunk_qty()-1). -1 means 'no function chunk at the specified address'.",
"func":1
},
{
"ref":"ida_funcs.get_prev_fchunk",
"url":14,
"doc":"get_prev_fchunk(ea) -> func_t Get pointer to the previous function chunk in the global list. @param ea: (C : ea_t) any address in the program @return: ptr to function chunk or nullptr if previous function chunk doesn't exist",
"func":1
},
{
"ref":"ida_funcs.get_next_fchunk",
"url":14,
"doc":"get_next_fchunk(ea) -> func_t Get pointer to the next function chunk in the global list. @param ea: (C : ea_t) any address in the program @return: ptr to function chunk or nullptr if next function chunk doesn't exist",
"func":1
},
{
"ref":"ida_funcs.append_func_tail",
"url":14,
"doc":"append_func_tail(pfn, ea1, ea2) -> bool Append a new tail chunk to the function definition. If the tail already exists, then it will simply be added to the function tail list Otherwise a new tail will be created and its owner will be set to be our function If a new tail cannot be created, then this function will fail. @param pfn: (C : func_t  ) pointer to the function @param ea1: (C : ea_t) start of the tail. If a tail already exists at the specified address it must start at 'ea1' @param ea2: (C : ea_t) end of the tail. If a tail already exists at the specified address it must end at 'ea2'. If specified as BADADDR, IDA will determine the end address itself.",
"func":1
},
{
"ref":"ida_funcs.remove_func_tail",
"url":14,
"doc":"remove_func_tail(pfn, tail_ea) -> bool Remove a function tail. If the tail belongs only to one function, it will be completely removed. Otherwise if the function was the tail owner, the first function using this tail becomes the owner of the tail. @param pfn: (C : func_t  ) pointer to the function @param tail_ea: (C : ea_t) any address inside the tail to remove",
"func":1
},
{
"ref":"ida_funcs.set_tail_owner",
"url":14,
"doc":"set_tail_owner(fnt, new_owner) -> bool Set a new owner of a function tail. The new owner function must be already referring to the tail (after append_func_tail). @param fnt: (C : func_t  ) pointer to the function tail @param new_owner: (C : ea_t) the entry point of the new owner function",
"func":1
},
{
"ref":"ida_funcs.func_tail_iterator_set",
"url":14,
"doc":"func_tail_iterator_set(fti, pfn, ea) -> bool @param fti: func_tail_iterator_t  @param pfn: func_t  @param ea: ea_t",
"func":1
},
{
"ref":"ida_funcs.func_tail_iterator_set_ea",
"url":14,
"doc":"func_tail_iterator_set_ea(fti, ea) -> bool @param fti: func_tail_iterator_t  @param ea: ea_t",
"func":1
},
{
"ref":"ida_funcs.func_parent_iterator_set",
"url":14,
"doc":"func_parent_iterator_set(fpi, pfn) -> bool @param fpi: func_parent_iterator_t  @param pfn: func_t  ",
"func":1
},
{
"ref":"ida_funcs.f_any",
"url":14,
"doc":"f_any(arg1, arg2) -> bool Helper function to accept any address. @param arg1: flags64_t @param arg2: void  ",
"func":1
},
{
"ref":"ida_funcs.func_tail_iterator_t",
"url":14,
"doc":"Proxy of C func_tail_iterator_t class. __init__(self) -> func_tail_iterator_t __init__(self, _pfn, ea=BADADDR) -> func_tail_iterator_t @param _pfn: func_t  @param ea: ea_t"
},
{
"ref":"ida_funcs.func_tail_iterator_t.thisown",
"url":14,
"doc":"The membership flag"
},
{
"ref":"ida_funcs.func_tail_iterator_t.set",
"url":14,
"doc":"set(self, _pfn, ea=BADADDR) -> bool @param _pfn: func_t  @param ea: ea_t",
"func":1
},
{
"ref":"ida_funcs.func_tail_iterator_t.set_ea",
"url":14,
"doc":"set_ea(self, ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_funcs.func_tail_iterator_t.set_range",
"url":14,
"doc":"set_range(self, ea1, ea2) -> bool @param ea1: ea_t @param ea2: ea_t",
"func":1
},
{
"ref":"ida_funcs.func_tail_iterator_t.chunk",
"url":14,
"doc":"chunk(self) -> range_t",
"func":1
},
{
"ref":"ida_funcs.func_tail_iterator_t.first",
"url":14,
"doc":"first(self) -> bool",
"func":1
},
{
"ref":"ida_funcs.func_tail_iterator_t.last",
"url":14,
"doc":"last(self) -> bool",
"func":1
},
{
"ref":"ida_funcs.func_tail_iterator_t.prev",
"url":14,
"doc":"prev(self) -> bool",
"func":1
},
{
"ref":"ida_funcs.func_tail_iterator_t.main",
"url":14,
"doc":"main(self) -> bool",
"func":1
},
{
"ref":"ida_funcs.func_tail_iterator_t.next",
"url":14,
"doc":"__next__(self) -> bool",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t",
"url":14,
"doc":"Proxy of C func_item_iterator_t class. __init__(self) -> func_item_iterator_t __init__(self, pfn, _ea=BADADDR) -> func_item_iterator_t @param pfn: func_t  @param _ea: ea_t"
},
{
"ref":"ida_funcs.func_item_iterator_t.thisown",
"url":14,
"doc":"The membership flag"
},
{
"ref":"ida_funcs.func_item_iterator_t.set",
"url":14,
"doc":"set(self, pfn, _ea=BADADDR) -> bool Set a function range. if pfn  nullptr then a segment range will be set. @param pfn: (C : func_t  ) @param _ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.set_range",
"url":14,
"doc":"set_range(self, ea1, ea2) -> bool Set an arbitrary range. @param ea1: (C : ea_t) @param ea2: (C : ea_t)",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.first",
"url":14,
"doc":"first(self) -> bool",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.last",
"url":14,
"doc":"last(self) -> bool",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.current",
"url":14,
"doc":"current(self) -> ea_t",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.set_ea",
"url":14,
"doc":"set_ea(self, _ea) -> bool @param _ea: ea_t",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.chunk",
"url":14,
"doc":"chunk(self) -> range_t",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.prev",
"url":14,
"doc":"prev(self, func) -> bool @param func: testf_t  ",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.next_addr",
"url":14,
"doc":"next_addr(self) -> bool",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.next_head",
"url":14,
"doc":"next_head(self) -> bool",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.next_code",
"url":14,
"doc":"next_code(self) -> bool",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.next_data",
"url":14,
"doc":"next_data(self) -> bool",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.next_not_tail",
"url":14,
"doc":"next_not_tail(self) -> bool",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.prev_addr",
"url":14,
"doc":"prev_addr(self) -> bool",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.prev_head",
"url":14,
"doc":"prev_head(self) -> bool",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.prev_code",
"url":14,
"doc":"prev_code(self) -> bool",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.prev_data",
"url":14,
"doc":"prev_data(self) -> bool",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.prev_not_tail",
"url":14,
"doc":"prev_not_tail(self) -> bool",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.decode_prev_insn",
"url":14,
"doc":"decode_prev_insn(self, out) -> bool @param out: insn_t  ",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.decode_preceding_insn",
"url":14,
"doc":"decode_preceding_insn(self, visited, p_farref, out) -> bool @param visited: eavec_t  @param p_farref: bool  @param out: insn_t  ",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.succ",
"url":14,
"doc":"succ(self, func) -> bool Similar to next(), but succ() iterates the chunks from low to high addresses, while next() iterates through chunks starting at the function entry chunk @param func: (C : testf_t  )",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.succ_code",
"url":14,
"doc":"succ_code(self) -> bool",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.next",
"url":14,
"doc":"__next__(self, func) -> bool @param func: testf_t  ",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.addresses",
"url":14,
"doc":"Provide an iterator on addresses contained within the function",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.code_items",
"url":14,
"doc":"Provide an iterator on code items contained within the function",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.data_items",
"url":14,
"doc":"Provide an iterator on data items contained within the function",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.head_items",
"url":14,
"doc":"Provide an iterator on item heads contained within the function",
"func":1
},
{
"ref":"ida_funcs.func_item_iterator_t.not_tails",
"url":14,
"doc":"Provide an iterator on non-tail addresses contained within the function",
"func":1
},
{
"ref":"ida_funcs.func_parent_iterator_t",
"url":14,
"doc":"Proxy of C func_parent_iterator_t class. __init__(self) -> func_parent_iterator_t __init__(self, _fnt) -> func_parent_iterator_t @param _fnt: func_t  "
},
{
"ref":"ida_funcs.func_parent_iterator_t.thisown",
"url":14,
"doc":"The membership flag"
},
{
"ref":"ida_funcs.func_parent_iterator_t.set",
"url":14,
"doc":"set(self, _fnt) -> bool @param _fnt: func_t  ",
"func":1
},
{
"ref":"ida_funcs.func_parent_iterator_t.parent",
"url":14,
"doc":"parent(self) -> ea_t",
"func":1
},
{
"ref":"ida_funcs.func_parent_iterator_t.first",
"url":14,
"doc":"first(self) -> bool",
"func":1
},
{
"ref":"ida_funcs.func_parent_iterator_t.last",
"url":14,
"doc":"last(self) -> bool",
"func":1
},
{
"ref":"ida_funcs.func_parent_iterator_t.prev",
"url":14,
"doc":"prev(self) -> bool",
"func":1
},
{
"ref":"ida_funcs.func_parent_iterator_t.reset_fnt",
"url":14,
"doc":"reset_fnt(self, _fnt) @param _fnt: func_t  ",
"func":1
},
{
"ref":"ida_funcs.func_parent_iterator_t.next",
"url":14,
"doc":"__next__(self) -> bool",
"func":1
},
{
"ref":"ida_funcs.get_prev_func_addr",
"url":14,
"doc":"get_prev_func_addr(pfn, ea) -> ea_t @param pfn: func_t  @param ea: ea_t",
"func":1
},
{
"ref":"ida_funcs.get_next_func_addr",
"url":14,
"doc":"get_next_func_addr(pfn, ea) -> ea_t @param pfn: func_t  @param ea: ea_t",
"func":1
},
{
"ref":"ida_funcs.read_regargs",
"url":14,
"doc":"read_regargs(pfn) @param pfn: func_t  ",
"func":1
},
{
"ref":"ida_funcs.add_regarg",
"url":14,
"doc":"add_regarg(pfn, reg, tif, name) @param pfn: func_t  @param reg: int @param tif: tinfo_t const & @param name: char const  ",
"func":1
},
{
"ref":"ida_funcs.IDASGN_OK",
"url":14,
"doc":"ok"
},
{
"ref":"ida_funcs.IDASGN_BADARG",
"url":14,
"doc":"bad number of signature"
},
{
"ref":"ida_funcs.IDASGN_APPLIED",
"url":14,
"doc":"signature is already applied"
},
{
"ref":"ida_funcs.IDASGN_CURRENT",
"url":14,
"doc":"signature is currently being applied"
},
{
"ref":"ida_funcs.IDASGN_PLANNED",
"url":14,
"doc":"signature is planned to be applied"
},
{
"ref":"ida_funcs.plan_to_apply_idasgn",
"url":14,
"doc":"plan_to_apply_idasgn(fname) -> int Add a signature file to the list of planned signature files. @param fname: (C : const char  ) file name. should not contain directory part. @return: 0 if failed, otherwise number of planned (and applied) signatures",
"func":1
},
{
"ref":"ida_funcs.apply_idasgn_to",
"url":14,
"doc":"apply_idasgn_to(signame, ea, is_startup) -> int Apply a signature file to the specified address. @param signame: (C : const char  ) short name of signature file (the file name without path) @param ea: (C : ea_t) address to apply the signature @param is_startup: (C : bool) if set, then the signature is treated as a startup one for startup signature ida doesn't rename the first function of the applied module. @return: Library function codes",
"func":1
},
{
"ref":"ida_funcs.get_idasgn_qty",
"url":14,
"doc":"get_idasgn_qty() -> int Get number of signatures in the list of planned and applied signatures. @return: 0 n",
"func":1
},
{
"ref":"ida_funcs.get_current_idasgn",
"url":14,
"doc":"get_current_idasgn() -> int Get number of the the current signature. @return: 0 n-1",
"func":1
},
{
"ref":"ida_funcs.calc_idasgn_state",
"url":14,
"doc":"calc_idasgn_state(n) -> int Get state of a signature in the list of planned signatures @param n: (C : int) number of signature in the list (0 get_idasgn_qty()-1) @return: state of signature or IDASGN_BADARG",
"func":1
},
{
"ref":"ida_funcs.del_idasgn",
"url":14,
"doc":"del_idasgn(n) -> int Remove signature from the list of planned signatures. @param n: (C : int) number of signature in the list (0 get_idasgn_qty()-1) @return: IDASGN_OK, IDASGN_BADARG, IDASGN_APPLIED",
"func":1
},
{
"ref":"ida_funcs.get_idasgn_title",
"url":14,
"doc":"get_idasgn_title(name) -> str Get full description of the signature by its short name. @param name: (C : const char  ) short name of a signature @return: size of signature description or -1",
"func":1
},
{
"ref":"ida_funcs.apply_startup_sig",
"url":14,
"doc":"apply_startup_sig(ea, startup) -> bool Apply a startup signature file to the specified address. @param ea: (C : ea_t) address to apply the signature to; usually idainfo start_ea @param startup: (C : const char  ) the name of the signature file without path and extension @return: true if successfully applied the signature",
"func":1
},
{
"ref":"ida_funcs.try_to_add_libfunc",
"url":14,
"doc":"try_to_add_libfunc(ea) -> int Apply the currently loaded signature file to the specified address. If a library function is found, then create a function and name it accordingly. @param ea: (C : ea_t) any address in the program @return: Library function codes",
"func":1
},
{
"ref":"ida_funcs.LIBFUNC_FOUND",
"url":14,
"doc":"ok, library function is found"
},
{
"ref":"ida_funcs.LIBFUNC_NONE",
"url":14,
"doc":"no, this is not a library function"
},
{
"ref":"ida_funcs.LIBFUNC_DELAY",
"url":14,
"doc":"no decision because of lack of information"
},
{
"ref":"ida_funcs.get_fchunk_referer",
"url":14,
"doc":"get_fchunk_referer(ea, idx) -> ea_t @param ea: ea_t @param idx: size_t",
"func":1
},
{
"ref":"ida_funcs.get_idasgn_desc",
"url":14,
"doc":"get_idasgn_desc(n) -> (str, str) Get information about a signature in the list. It returns: (name of signature, names of optional libraries) See also: get_idasgn_desc_with_matches @param n: number of signature in the list (0 get_idasgn_qty()-1) @return: None on failure or tuple(signame, optlibs)",
"func":1
},
{
"ref":"ida_funcs.get_idasgn_desc_with_matches",
"url":14,
"doc":"get_idasgn_desc_with_matches(n) -> (str, str, int) Get information about a signature in the list. It returns: (name of signature, names of optional libraries, number of matches) @param n: number of signature in the list (0 get_idasgn_qty()-1) @return: None on failure or tuple(signame, optlibs, nmatches)",
"func":1
},
{
"ref":"ida_funcs.func_t__from_ptrval__",
"url":14,
"doc":"func_t__from_ptrval__(ptrval) -> func_t @param ptrval: size_t",
"func":1
},
{
"ref":"ida_gdl",
"url":15,
"doc":"Low level graph drawing operations."
},
{
"ref":"ida_gdl.fcb_normal",
"url":15,
"doc":"normal block"
},
{
"ref":"ida_gdl.fcb_indjump",
"url":15,
"doc":"block ends with indirect jump"
},
{
"ref":"ida_gdl.fcb_ret",
"url":15,
"doc":"return block"
},
{
"ref":"ida_gdl.fcb_cndret",
"url":15,
"doc":"conditional return block"
},
{
"ref":"ida_gdl.fcb_noret",
"url":15,
"doc":"noreturn block"
},
{
"ref":"ida_gdl.fcb_enoret",
"url":15,
"doc":"external noreturn block (does not belong to the function)"
},
{
"ref":"ida_gdl.fcb_extern",
"url":15,
"doc":"external normal block"
},
{
"ref":"ida_gdl.fcb_error",
"url":15,
"doc":"block passes execution past the function end"
},
{
"ref":"ida_gdl.edge_t",
"url":15,
"doc":"Proxy of C edge_t class. __init__(self, x=0, y=0) -> edge_t @param x: int @param y: int"
},
{
"ref":"ida_gdl.edge_t.thisown",
"url":15,
"doc":"The membership flag"
},
{
"ref":"ida_gdl.edge_t.src",
"url":15,
"doc":"source node number"
},
{
"ref":"ida_gdl.edge_t.dst",
"url":15,
"doc":"destination node number"
},
{
"ref":"ida_gdl.edgevec_t",
"url":15,
"doc":"Proxy of C edgevec_t class. __init__(self) -> edgevec_t"
},
{
"ref":"ida_gdl.edgevec_t.thisown",
"url":15,
"doc":"The membership flag"
},
{
"ref":"ida_gdl.node_ordering_t",
"url":15,
"doc":"Proxy of C node_ordering_t class. __init__(self) -> node_ordering_t"
},
{
"ref":"ida_gdl.node_ordering_t.thisown",
"url":15,
"doc":"The membership flag"
},
{
"ref":"ida_gdl.node_ordering_t.clear",
"url":15,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_gdl.node_ordering_t.resize",
"url":15,
"doc":"resize(self, n) @param n: int",
"func":1
},
{
"ref":"ida_gdl.node_ordering_t.size",
"url":15,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_gdl.node_ordering_t.set",
"url":15,
"doc":"set(self, _node, num) @param _node: int @param num: int",
"func":1
},
{
"ref":"ida_gdl.node_ordering_t.clr",
"url":15,
"doc":"clr(self, _node) -> bool @param _node: int",
"func":1
},
{
"ref":"ida_gdl.node_ordering_t.node",
"url":15,
"doc":"node(self, _order) -> int @param _order: size_t",
"func":1
},
{
"ref":"ida_gdl.node_ordering_t.order",
"url":15,
"doc":"order(self, _node) -> int @param _node: int",
"func":1
},
{
"ref":"ida_gdl.node_iterator",
"url":15,
"doc":"Proxy of C node_iterator class. __init__(self, _g, n) -> node_iterator @param _g: gdl_graph_t const  @param n: int"
},
{
"ref":"ida_gdl.node_iterator.thisown",
"url":15,
"doc":"The membership flag"
},
{
"ref":"ida_gdl.gdl_graph_t",
"url":15,
"doc":"Proxy of C gdl_graph_t class. __init__(self) -> gdl_graph_t @param self: PyObject  "
},
{
"ref":"ida_gdl.gdl_graph_t.thisown",
"url":15,
"doc":"The membership flag"
},
{
"ref":"ida_gdl.gdl_graph_t.get_node_label",
"url":15,
"doc":"get_node_label(self, n) -> char  @param n: int",
"func":1
},
{
"ref":"ida_gdl.gdl_graph_t.print_graph_attributes",
"url":15,
"doc":"print_graph_attributes(self, fp) @param fp: FILE  ",
"func":1
},
{
"ref":"ida_gdl.gdl_graph_t.print_node",
"url":15,
"doc":"print_node(self, fp, n) -> bool @param fp: FILE  @param n: int",
"func":1
},
{
"ref":"ida_gdl.gdl_graph_t.print_edge",
"url":15,
"doc":"print_edge(self, fp, i, j) -> bool @param fp: FILE  @param i: int @param j: int",
"func":1
},
{
"ref":"ida_gdl.gdl_graph_t.print_node_attributes",
"url":15,
"doc":"print_node_attributes(self, fp, n) @param fp: FILE  @param n: int",
"func":1
},
{
"ref":"ida_gdl.gdl_graph_t.size",
"url":15,
"doc":"size(self) -> int",
"func":1
},
{
"ref":"ida_gdl.gdl_graph_t.node_qty",
"url":15,
"doc":"node_qty(self) -> int",
"func":1
},
{
"ref":"ida_gdl.gdl_graph_t.exists",
"url":15,
"doc":"exists(self, node) -> bool @param node: int",
"func":1
},
{
"ref":"ida_gdl.gdl_graph_t.entry",
"url":15,
"doc":"entry(self) -> int",
"func":1
},
{
"ref":"ida_gdl.gdl_graph_t.exit",
"url":15,
"doc":"exit(self) -> int",
"func":1
},
{
"ref":"ida_gdl.gdl_graph_t.nsucc",
"url":15,
"doc":"nsucc(self, node) -> int @param node: int",
"func":1
},
{
"ref":"ida_gdl.gdl_graph_t.npred",
"url":15,
"doc":"npred(self, node) -> int @param node: int",
"func":1
},
{
"ref":"ida_gdl.gdl_graph_t.succ",
"url":15,
"doc":"succ(self, node, i) -> int @param node: int @param i: int",
"func":1
},
{
"ref":"ida_gdl.gdl_graph_t.pred",
"url":15,
"doc":"pred(self, node, i) -> int @param node: int @param i: int",
"func":1
},
{
"ref":"ida_gdl.gdl_graph_t.empty",
"url":15,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_gdl.gdl_graph_t.get_node_color",
"url":15,
"doc":"get_node_color(self, n) -> bgcolor_t @param n: int",
"func":1
},
{
"ref":"ida_gdl.gdl_graph_t.get_edge_color",
"url":15,
"doc":"get_edge_color(self, i, j) -> bgcolor_t @param i: int @param j: int",
"func":1
},
{
"ref":"ida_gdl.gdl_graph_t.nedge",
"url":15,
"doc":"nedge(self, node, ispred) -> size_t @param node: int @param ispred: bool",
"func":1
},
{
"ref":"ida_gdl.gdl_graph_t.edge",
"url":15,
"doc":"edge(self, node, i, ispred) -> int @param node: int @param i: int @param ispred: bool",
"func":1
},
{
"ref":"ida_gdl.gdl_graph_t.front",
"url":15,
"doc":"front(self) -> int",
"func":1
},
{
"ref":"ida_gdl.gdl_graph_t.begin",
"url":15,
"doc":"begin(self) -> node_iterator",
"func":1
},
{
"ref":"ida_gdl.gdl_graph_t.end",
"url":15,
"doc":"end(self) -> node_iterator",
"func":1
},
{
"ref":"ida_gdl.gen_gdl",
"url":15,
"doc":"gen_gdl(g, fname) Create GDL file for graph. @param g: (C : const gdl_graph_t  ) gdl_graph_t const  @param fname: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_gdl.display_gdl",
"url":15,
"doc":"display_gdl(fname) -> int Display GDL file by calling wingraph32. The exact name of the grapher is taken from the configuration file and set up by setup_graph_subsystem(). The path should point to a temporary file: when wingraph32 succeeds showing the graph, the input file will be deleted. @param fname: (C : const char  ) char const  @return: error code from os, 0 if ok",
"func":1
},
{
"ref":"ida_gdl.gen_flow_graph",
"url":15,
"doc":"gen_flow_graph(filename, title, pfn, ea1, ea2, gflags) -> bool Build and display a flow graph. @param filename: (C : const char  ) output file name. the file extension is not used. maybe nullptr. @param title: (C : const char  ) graph title @param pfn: (C : func_t  ) function to graph @param ea1: (C : ea_t) ,ea2: if pfn  nullptr, then the address range @param gflags: (C : int) combination of Flow graph building flags. if none of CHART_GEN_DOT, CHART_GEN_GDL, CHART_WINGRAPH is specified, the function will return false @param gflags: (C : int) combination of Flow graph building flags. if none of CHART_GEN_DOT, CHART_GEN_GDL, CHART_WINGRAPH is specified, the function will return false @return: success. if fails, a warning message is displayed on the screen",
"func":1
},
{
"ref":"ida_gdl.CHART_PRINT_NAMES",
"url":15,
"doc":"print labels for each block?"
},
{
"ref":"ida_gdl.CHART_GEN_DOT",
"url":15,
"doc":"generate .dot file (file extension is forced to .dot)"
},
{
"ref":"ida_gdl.CHART_GEN_GDL",
"url":15,
"doc":"generate .gdl file (file extension is forced to .gdl)"
},
{
"ref":"ida_gdl.CHART_WINGRAPH",
"url":15,
"doc":"call grapher to display the graph"
},
{
"ref":"ida_gdl.gen_simple_call_chart",
"url":15,
"doc":"gen_simple_call_chart(filename, wait, title, gflags) -> bool Build and display a simple function call graph. @param filename: (C : const char  ) output file name. the file extension is not used. maybe nullptr. @param wait: (C : const char  ) message to display during graph building @param title: (C : const char  ) graph title @param gflags: (C : int) combination of CHART_NOLIBFUNCS and Flow graph building flags. if none of CHART_GEN_DOT, CHART_GEN_GDL, CHART_WINGRAPH is specified, the function will return false. @return: success. if fails, a warning message is displayed on the screen",
"func":1
},
{
"ref":"ida_gdl.gen_complex_call_chart",
"url":15,
"doc":"gen_complex_call_chart(filename, wait, title, ea1, ea2, flags, recursion_depth=-1) -> bool Build and display a complex xref graph. @param filename: (C : const char  ) output file name. the file extension is not used. maybe nullptr. @param wait: (C : const char  ) message to display during graph building @param title: (C : const char  ) graph title @param ea1: (C : ea_t) ,ea2: address range @param flags: (C : int) combination of Call chart building flags and Flow graph building flags. if none of CHART_GEN_DOT, CHART_GEN_GDL, CHART_WINGRAPH is specified, the function will return false. @param flags: (C : int) combination of Call chart building flags and Flow graph building flags. if none of CHART_GEN_DOT, CHART_GEN_GDL, CHART_WINGRAPH is specified, the function will return false. @param recursion_depth: (C : int32) optional limit of recursion @return: success. if fails, a warning message is displayed on the screen",
"func":1
},
{
"ref":"ida_gdl.CHART_NOLIBFUNCS",
"url":15,
"doc":"don't include library functions in the graph"
},
{
"ref":"ida_gdl.CHART_REFERENCING",
"url":15,
"doc":"references to the addresses in the list"
},
{
"ref":"ida_gdl.CHART_REFERENCED",
"url":15,
"doc":"references from the addresses in the list"
},
{
"ref":"ida_gdl.CHART_RECURSIVE",
"url":15,
"doc":"analyze added blocks"
},
{
"ref":"ida_gdl.CHART_FOLLOW_DIRECTION",
"url":15,
"doc":"analyze references to added blocks only in the direction of the reference who discovered the current block"
},
{
"ref":"ida_gdl.CHART_IGNORE_LIB_TO",
"url":15,
"doc":"ignore references to library functions"
},
{
"ref":"ida_gdl.CHART_IGNORE_LIB_FROM",
"url":15,
"doc":"ignore references from library functions"
},
{
"ref":"ida_gdl.CHART_PRINT_DOTS",
"url":15,
"doc":"print dots if xrefs exist outside of the range recursion depth"
},
{
"ref":"ida_gdl.cancellable_graph_t",
"url":15,
"doc":"Proxy of C cancellable_graph_t class. __init__(self) -> cancellable_graph_t @param self: PyObject  "
},
{
"ref":"ida_gdl.cancellable_graph_t.thisown",
"url":15,
"doc":"The membership flag"
},
{
"ref":"ida_gdl.cancellable_graph_t.cancelled",
"url":15,
"doc":"cancelled"
},
{
"ref":"ida_gdl.cancellable_graph_t.get_node_label",
"url":15,
"doc":"get_node_label(self, n) -> char  @param n: int",
"func":1
},
{
"ref":"ida_gdl.cancellable_graph_t.print_graph_attributes",
"url":15,
"doc":"print_graph_attributes(self, fp) @param fp: FILE  ",
"func":1
},
{
"ref":"ida_gdl.cancellable_graph_t.print_node",
"url":15,
"doc":"print_node(self, fp, n) -> bool @param fp: FILE  @param n: int",
"func":1
},
{
"ref":"ida_gdl.cancellable_graph_t.print_edge",
"url":15,
"doc":"print_edge(self, fp, i, j) -> bool @param fp: FILE  @param i: int @param j: int",
"func":1
},
{
"ref":"ida_gdl.cancellable_graph_t.print_node_attributes",
"url":15,
"doc":"print_node_attributes(self, fp, n) @param fp: FILE  @param n: int",
"func":1
},
{
"ref":"ida_gdl.cancellable_graph_t.size",
"url":15,
"doc":"size(self) -> int",
"func":1
},
{
"ref":"ida_gdl.cancellable_graph_t.node_qty",
"url":15,
"doc":"node_qty(self) -> int",
"func":1
},
{
"ref":"ida_gdl.cancellable_graph_t.exists",
"url":15,
"doc":"exists(self, node) -> bool @param node: int",
"func":1
},
{
"ref":"ida_gdl.cancellable_graph_t.entry",
"url":15,
"doc":"entry(self) -> int",
"func":1
},
{
"ref":"ida_gdl.cancellable_graph_t.exit",
"url":15,
"doc":"exit(self) -> int",
"func":1
},
{
"ref":"ida_gdl.cancellable_graph_t.nsucc",
"url":15,
"doc":"nsucc(self, node) -> int @param node: int",
"func":1
},
{
"ref":"ida_gdl.cancellable_graph_t.npred",
"url":15,
"doc":"npred(self, node) -> int @param node: int",
"func":1
},
{
"ref":"ida_gdl.cancellable_graph_t.succ",
"url":15,
"doc":"succ(self, node, i) -> int @param node: int @param i: int",
"func":1
},
{
"ref":"ida_gdl.cancellable_graph_t.pred",
"url":15,
"doc":"pred(self, node, i) -> int @param node: int @param i: int",
"func":1
},
{
"ref":"ida_gdl.cancellable_graph_t.empty",
"url":15,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_gdl.cancellable_graph_t.get_node_color",
"url":15,
"doc":"get_node_color(self, n) -> bgcolor_t @param n: int",
"func":1
},
{
"ref":"ida_gdl.cancellable_graph_t.get_edge_color",
"url":15,
"doc":"get_edge_color(self, i, j) -> bgcolor_t @param i: int @param j: int",
"func":1
},
{
"ref":"ida_gdl.cancellable_graph_t.nedge",
"url":15,
"doc":"nedge(self, node, ispred) -> size_t @param node: int @param ispred: bool",
"func":1
},
{
"ref":"ida_gdl.cancellable_graph_t.edge",
"url":15,
"doc":"edge(self, node, i, ispred) -> int @param node: int @param i: int @param ispred: bool",
"func":1
},
{
"ref":"ida_gdl.cancellable_graph_t.front",
"url":15,
"doc":"front(self) -> int",
"func":1
},
{
"ref":"ida_gdl.cancellable_graph_t.begin",
"url":15,
"doc":"begin(self) -> node_iterator",
"func":1
},
{
"ref":"ida_gdl.cancellable_graph_t.end",
"url":15,
"doc":"end(self) -> node_iterator",
"func":1
},
{
"ref":"ida_gdl.qbasic_block_t",
"url":15,
"doc":"Proxy of C qbasic_block_t class. __init__(self) -> qbasic_block_t"
},
{
"ref":"ida_gdl.qbasic_block_t.thisown",
"url":15,
"doc":"The membership flag"
},
{
"ref":"ida_gdl.qbasic_block_t.start_ea",
"url":5,
"doc":"start_ea included"
},
{
"ref":"ida_gdl.qbasic_block_t.end_ea",
"url":5,
"doc":"end_ea excluded"
},
{
"ref":"ida_gdl.qbasic_block_t.compare",
"url":5,
"doc":"compare(self, r) -> int @param r: range_t const &",
"func":1
},
{
"ref":"ida_gdl.qbasic_block_t.contains",
"url":5,
"doc":"contains(self, ea) -> bool Is every ea in 'r' also in this range_t? @param ea: ea_t contains(self, r) -> bool @param r: range_t const &",
"func":1
},
{
"ref":"ida_gdl.qbasic_block_t.overlaps",
"url":5,
"doc":"overlaps(self, r) -> bool Is there an ea in 'r' that is also in this range_t? @param r: (C : const range_t &) range_t const &",
"func":1
},
{
"ref":"ida_gdl.qbasic_block_t.clear",
"url":5,
"doc":"clear(self) Set start_ea, end_ea to 0.",
"func":1
},
{
"ref":"ida_gdl.qbasic_block_t.empty",
"url":5,
"doc":"empty(self) -> bool Is the size of the range_t <= 0?",
"func":1
},
{
"ref":"ida_gdl.qbasic_block_t.size",
"url":5,
"doc":"size(self) -> asize_t Get end_ea - start_ea.",
"func":1
},
{
"ref":"ida_gdl.qbasic_block_t.intersect",
"url":5,
"doc":"intersect(self, r) Assign the range_t to the intersection between the range_t and 'r'. @param r: (C : const range_t &) range_t const &",
"func":1
},
{
"ref":"ida_gdl.qbasic_block_t.extend",
"url":5,
"doc":"extend(self, ea) Ensure that the range_t includes 'ea'. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_gdl.is_noret_block",
"url":15,
"doc":"is_noret_block(btype) -> bool Does this block never return? @param btype: (C : fc_block_type_t) enum fc_block_type_t",
"func":1
},
{
"ref":"ida_gdl.is_ret_block",
"url":15,
"doc":"is_ret_block(btype) -> bool Does this block return? @param btype: (C : fc_block_type_t) enum fc_block_type_t",
"func":1
},
{
"ref":"ida_gdl.FC_PRINT",
"url":15,
"doc":"print names (used only by display_flow_chart( "
},
{
"ref":"ida_gdl.FC_NOEXT",
"url":15,
"doc":"do not compute external blocks. Use this to prevent jumps leaving the function from appearing in the flow chart. Unless specified, the targets of those outgoing jumps will be present in the flow chart under the form of one- instruction blocks"
},
{
"ref":"ida_gdl.FC_RESERVED",
"url":15,
"doc":"former FC_PREDS"
},
{
"ref":"ida_gdl.FC_APPND",
"url":15,
"doc":"multirange flowchart (set by append_to_flowchart)"
},
{
"ref":"ida_gdl.FC_CHKBREAK",
"url":15,
"doc":"build_qflow_chart() may be aborted by user"
},
{
"ref":"ida_gdl.FC_CALL_ENDS",
"url":15,
"doc":"call instructions terminate basic blocks"
},
{
"ref":"ida_gdl.FC_NOPREDS",
"url":15,
"doc":"do not compute predecessor lists"
},
{
"ref":"ida_gdl.FC_OUTLINES",
"url":15,
"doc":"include outlined code (with FUNC_OUTLINE)"
},
{
"ref":"ida_gdl.qflow_chart_t",
"url":15,
"doc":"Proxy of C qflow_chart_t class. __init__(self) -> qflow_chart_t __init__(self, _title, _pfn, _ea1, _ea2, _flags) -> qflow_chart_t @param _title: char const  @param _pfn: func_t  @param _ea1: ea_t @param _ea2: ea_t @param _flags: int"
},
{
"ref":"ida_gdl.qflow_chart_t.thisown",
"url":15,
"doc":"The membership flag"
},
{
"ref":"ida_gdl.qflow_chart_t.title",
"url":15,
"doc":"title"
},
{
"ref":"ida_gdl.qflow_chart_t.bounds",
"url":15,
"doc":"overall bounds of the qflow_chart_t instance"
},
{
"ref":"ida_gdl.qflow_chart_t.pfn",
"url":15,
"doc":"the function this instance was built upon"
},
{
"ref":"ida_gdl.qflow_chart_t.flags",
"url":15,
"doc":"flags. See Flow chart flags"
},
{
"ref":"ida_gdl.qflow_chart_t.nproper",
"url":15,
"doc":"number of basic blocks belonging to the specified range"
},
{
"ref":"ida_gdl.qflow_chart_t.create",
"url":15,
"doc":"create(self, _title, _pfn, _ea1, _ea2, _flags) @param _title: char const  @param _pfn: func_t  @param _ea1: ea_t @param _ea2: ea_t @param _flags: int create(self, _title, ranges, _flags) @param _title: char const  @param ranges: rangevec_t const & @param _flags: int",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.append_to_flowchart",
"url":15,
"doc":"append_to_flowchart(self, ea1, ea2) @param ea1: ea_t @param ea2: ea_t",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.refresh",
"url":15,
"doc":"refresh(self)",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.calc_block_type",
"url":15,
"doc":"calc_block_type(self, blknum) -> fc_block_type_t @param blknum: size_t",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.is_ret_block",
"url":15,
"doc":"is_ret_block(self, blknum) -> bool @param blknum: size_t",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.is_noret_block",
"url":15,
"doc":"is_noret_block(self, blknum) -> bool @param blknum: size_t",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.print_node_attributes",
"url":15,
"doc":"print_node_attributes(self, fp, n) @param fp: FILE  @param n: int",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.nsucc",
"url":15,
"doc":"nsucc(self, node) -> int @param node: int",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.npred",
"url":15,
"doc":"npred(self, node) -> int @param node: int",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.succ",
"url":15,
"doc":"succ(self, node, i) -> int @param node: int @param i: int",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.pred",
"url":15,
"doc":"pred(self, node, i) -> int @param node: int @param i: int",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.get_node_label",
"url":15,
"doc":"get_node_label(self, n) -> char  @param n: int",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.size",
"url":15,
"doc":"size(self) -> int",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.print_names",
"url":15,
"doc":"print_names(self) -> bool",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.cancelled",
"url":15,
"doc":"cancelled"
},
{
"ref":"ida_gdl.qflow_chart_t.print_graph_attributes",
"url":15,
"doc":"print_graph_attributes(self, fp) @param fp: FILE  ",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.print_node",
"url":15,
"doc":"print_node(self, fp, n) -> bool @param fp: FILE  @param n: int",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.print_edge",
"url":15,
"doc":"print_edge(self, fp, i, j) -> bool @param fp: FILE  @param i: int @param j: int",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.node_qty",
"url":15,
"doc":"node_qty(self) -> int",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.exists",
"url":15,
"doc":"exists(self, node) -> bool @param node: int",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.entry",
"url":15,
"doc":"entry(self) -> int",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.exit",
"url":15,
"doc":"exit(self) -> int",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.empty",
"url":15,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.get_node_color",
"url":15,
"doc":"get_node_color(self, n) -> bgcolor_t @param n: int",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.get_edge_color",
"url":15,
"doc":"get_edge_color(self, i, j) -> bgcolor_t @param i: int @param j: int",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.nedge",
"url":15,
"doc":"nedge(self, node, ispred) -> size_t @param node: int @param ispred: bool",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.edge",
"url":15,
"doc":"edge(self, node, i, ispred) -> int @param node: int @param i: int @param ispred: bool",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.front",
"url":15,
"doc":"front(self) -> int",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.begin",
"url":15,
"doc":"begin(self) -> node_iterator",
"func":1
},
{
"ref":"ida_gdl.qflow_chart_t.end",
"url":15,
"doc":"end(self) -> node_iterator",
"func":1
},
{
"ref":"ida_gdl.BasicBlock",
"url":15,
"doc":"Basic block class. It is returned by the Flowchart class"
},
{
"ref":"ida_gdl.BasicBlock.preds",
"url":15,
"doc":"Iterates the predecessors list",
"func":1
},
{
"ref":"ida_gdl.BasicBlock.succs",
"url":15,
"doc":"Iterates the successors list",
"func":1
},
{
"ref":"ida_gdl.BasicBlock.id",
"url":15,
"doc":"Basic block ID"
},
{
"ref":"ida_gdl.BasicBlock.start_ea",
"url":15,
"doc":"start_ea of basic block"
},
{
"ref":"ida_gdl.BasicBlock.end_ea",
"url":15,
"doc":"end_ea of basic block"
},
{
"ref":"ida_gdl.BasicBlock.type",
"url":15,
"doc":"Block type (check fc_block_type_t enum)"
},
{
"ref":"ida_gdl.FlowChart",
"url":15,
"doc":"Flowchart class used to determine basic blocks. Check ex_gdl_qflow_chart.py for sample usage. Constructor @param f: A func_t type, use get_func(ea) to get a reference @param bounds: A tuple of the form (start, end). Used if \"f\" is None @param flags: one of the FC_xxxx flags."
},
{
"ref":"ida_gdl.FlowChart.size",
"url":15,
"doc":"Number of blocks in the flow chart"
},
{
"ref":"ida_gdl.FlowChart.refresh",
"url":15,
"doc":"Refreshes the flow chart",
"func":1
},
{
"ref":"ida_graph",
"url":16,
"doc":"Graph view management."
},
{
"ref":"ida_graph.screen_graph_selection_base_t",
"url":16,
"doc":"Proxy of C qvector class. __init__(self) -> screen_graph_selection_base_t __init__(self, x) -> screen_graph_selection_base_t @param x: qvector const &"
},
{
"ref":"ida_graph.screen_graph_selection_base_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.screen_graph_selection_base_t.push_back",
"url":16,
"doc":"push_back(self, x) @param x: selection_item_t const & push_back(self) -> selection_item_t",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_base_t.pop_back",
"url":16,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_base_t.size",
"url":16,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_base_t.empty",
"url":16,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_base_t.at",
"url":16,
"doc":"at(self, _idx) -> selection_item_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_base_t.qclear",
"url":16,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_base_t.clear",
"url":16,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_base_t.resize",
"url":16,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: selection_item_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_base_t.grow",
"url":16,
"doc":"grow(self, x=selection_item_t( @param x: selection_item_t const &",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_base_t.capacity",
"url":16,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_base_t.reserve",
"url":16,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_base_t.truncate",
"url":16,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_base_t.swap",
"url":16,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_base_t.extract",
"url":16,
"doc":"extract(self) -> selection_item_t",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_base_t.inject",
"url":16,
"doc":"inject(self, s, len) @param s: selection_item_t  @param len: size_t",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_base_t.begin",
"url":16,
"doc":"begin(self) -> selection_item_t",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_base_t.end",
"url":16,
"doc":"end(self) -> selection_item_t",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_base_t.insert",
"url":16,
"doc":"insert(self, it, x) -> selection_item_t @param it: qvector  iterator @param x: selection_item_t const &",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_base_t.erase",
"url":16,
"doc":"erase(self, it) -> selection_item_t @param it: qvector  iterator erase(self, first, last) -> selection_item_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_base_t.find",
"url":16,
"doc":"find(self, x) -> selection_item_t @param x: selection_item_t const &",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_base_t.has",
"url":16,
"doc":"has(self, x) -> bool @param x: selection_item_t const &",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_base_t.add_unique",
"url":16,
"doc":"add_unique(self, x) -> bool @param x: selection_item_t const &",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_base_t.front",
"url":16,
"doc":"",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_base_t.back",
"url":16,
"doc":"",
"func":1
},
{
"ref":"ida_graph.node_layout_t",
"url":16,
"doc":"Proxy of C qvector class. __init__(self) -> node_layout_t __init__(self, x) -> node_layout_t @param x: qvector const &"
},
{
"ref":"ida_graph.node_layout_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.node_layout_t.push_back",
"url":16,
"doc":"push_back(self, x) @param x: rect_t const & push_back(self) -> rect_t",
"func":1
},
{
"ref":"ida_graph.node_layout_t.pop_back",
"url":16,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_graph.node_layout_t.size",
"url":16,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_graph.node_layout_t.empty",
"url":16,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_graph.node_layout_t.at",
"url":16,
"doc":"at(self, _idx) -> rect_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_graph.node_layout_t.qclear",
"url":16,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_graph.node_layout_t.clear",
"url":16,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_graph.node_layout_t.resize",
"url":16,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: rect_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_graph.node_layout_t.grow",
"url":16,
"doc":"grow(self, x=rect_t( @param x: rect_t const &",
"func":1
},
{
"ref":"ida_graph.node_layout_t.capacity",
"url":16,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_graph.node_layout_t.reserve",
"url":16,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_graph.node_layout_t.truncate",
"url":16,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_graph.node_layout_t.swap",
"url":16,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_graph.node_layout_t.extract",
"url":16,
"doc":"extract(self) -> rect_t",
"func":1
},
{
"ref":"ida_graph.node_layout_t.inject",
"url":16,
"doc":"inject(self, s, len) @param s: rect_t  @param len: size_t",
"func":1
},
{
"ref":"ida_graph.node_layout_t.begin",
"url":16,
"doc":"begin(self) -> rect_t",
"func":1
},
{
"ref":"ida_graph.node_layout_t.end",
"url":16,
"doc":"end(self) -> rect_t",
"func":1
},
{
"ref":"ida_graph.node_layout_t.insert",
"url":16,
"doc":"insert(self, it, x) -> rect_t @param it: qvector  iterator @param x: rect_t const &",
"func":1
},
{
"ref":"ida_graph.node_layout_t.erase",
"url":16,
"doc":"erase(self, it) -> rect_t @param it: qvector  iterator erase(self, first, last) -> rect_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_graph.node_layout_t.find",
"url":16,
"doc":"find(self, x) -> rect_t @param x: rect_t const &",
"func":1
},
{
"ref":"ida_graph.node_layout_t.has",
"url":16,
"doc":"has(self, x) -> bool @param x: rect_t const &",
"func":1
},
{
"ref":"ida_graph.node_layout_t.add_unique",
"url":16,
"doc":"add_unique(self, x) -> bool @param x: rect_t const &",
"func":1
},
{
"ref":"ida_graph.node_layout_t.front",
"url":16,
"doc":"",
"func":1
},
{
"ref":"ida_graph.node_layout_t.back",
"url":16,
"doc":"",
"func":1
},
{
"ref":"ida_graph.pointvec_t",
"url":16,
"doc":"Proxy of C qvector class. __init__(self) -> pointvec_t __init__(self, x) -> pointvec_t @param x: qvector const &"
},
{
"ref":"ida_graph.pointvec_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.pointvec_t.push_back",
"url":16,
"doc":"push_back(self, x) @param x: point_t const & push_back(self) -> point_t",
"func":1
},
{
"ref":"ida_graph.pointvec_t.pop_back",
"url":16,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_graph.pointvec_t.size",
"url":16,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_graph.pointvec_t.empty",
"url":16,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_graph.pointvec_t.at",
"url":16,
"doc":"at(self, _idx) -> point_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_graph.pointvec_t.qclear",
"url":16,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_graph.pointvec_t.clear",
"url":16,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_graph.pointvec_t.resize",
"url":16,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: point_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_graph.pointvec_t.grow",
"url":16,
"doc":"grow(self, x=point_t( @param x: point_t const &",
"func":1
},
{
"ref":"ida_graph.pointvec_t.capacity",
"url":16,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_graph.pointvec_t.reserve",
"url":16,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_graph.pointvec_t.truncate",
"url":16,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_graph.pointvec_t.swap",
"url":16,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_graph.pointvec_t.extract",
"url":16,
"doc":"extract(self) -> point_t",
"func":1
},
{
"ref":"ida_graph.pointvec_t.inject",
"url":16,
"doc":"inject(self, s, len) @param s: point_t  @param len: size_t",
"func":1
},
{
"ref":"ida_graph.pointvec_t.begin",
"url":16,
"doc":"begin(self) -> point_t",
"func":1
},
{
"ref":"ida_graph.pointvec_t.end",
"url":16,
"doc":"end(self) -> point_t",
"func":1
},
{
"ref":"ida_graph.pointvec_t.insert",
"url":16,
"doc":"insert(self, it, x) -> point_t @param it: qvector  iterator @param x: point_t const &",
"func":1
},
{
"ref":"ida_graph.pointvec_t.erase",
"url":16,
"doc":"erase(self, it) -> point_t @param it: qvector  iterator erase(self, first, last) -> point_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_graph.pointvec_t.find",
"url":16,
"doc":"find(self, x) -> point_t @param x: point_t const &",
"func":1
},
{
"ref":"ida_graph.pointvec_t.has",
"url":16,
"doc":"has(self, x) -> bool @param x: point_t const &",
"func":1
},
{
"ref":"ida_graph.pointvec_t.add_unique",
"url":16,
"doc":"add_unique(self, x) -> bool @param x: point_t const &",
"func":1
},
{
"ref":"ida_graph.pointvec_t.front",
"url":16,
"doc":"",
"func":1
},
{
"ref":"ida_graph.pointvec_t.back",
"url":16,
"doc":"",
"func":1
},
{
"ref":"ida_graph.NIF_BG_COLOR",
"url":16,
"doc":"node_info_t bg_color"
},
{
"ref":"ida_graph.NIF_FRAME_COLOR",
"url":16,
"doc":"node_info_t frame_color"
},
{
"ref":"ida_graph.NIF_EA",
"url":16,
"doc":"node_info_t ea"
},
{
"ref":"ida_graph.NIF_TEXT",
"url":16,
"doc":"node_info_t text"
},
{
"ref":"ida_graph.NIF_FLAGS",
"url":16,
"doc":"node_info_t flags"
},
{
"ref":"ida_graph.GLICTL_CENTER",
"url":16,
"doc":"the gli should be set/get as center"
},
{
"ref":"ida_graph.node_info_t",
"url":16,
"doc":"Proxy of C node_info_t class. __init__(self) -> node_info_t"
},
{
"ref":"ida_graph.node_info_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.node_info_t.bg_color",
"url":16,
"doc":"background color"
},
{
"ref":"ida_graph.node_info_t.frame_color",
"url":16,
"doc":"color of enclosing frame"
},
{
"ref":"ida_graph.node_info_t.flags",
"url":16,
"doc":"flags"
},
{
"ref":"ida_graph.node_info_t.ea",
"url":16,
"doc":"address"
},
{
"ref":"ida_graph.node_info_t.text",
"url":16,
"doc":"node contents"
},
{
"ref":"ida_graph.node_info_t.valid_bg_color",
"url":16,
"doc":"valid_bg_color(self) -> bool Has valid bg_color?",
"func":1
},
{
"ref":"ida_graph.node_info_t.valid_frame_color",
"url":16,
"doc":"valid_frame_color(self) -> bool Has valid frame_color?",
"func":1
},
{
"ref":"ida_graph.node_info_t.valid_ea",
"url":16,
"doc":"valid_ea(self) -> bool Has valid ea?",
"func":1
},
{
"ref":"ida_graph.node_info_t.valid_text",
"url":16,
"doc":"valid_text(self) -> bool Has non-empty text?",
"func":1
},
{
"ref":"ida_graph.node_info_t.valid_flags",
"url":16,
"doc":"valid_flags(self) -> bool Has valid flags?",
"func":1
},
{
"ref":"ida_graph.node_info_t.get_flags_for_valid",
"url":16,
"doc":"get_flags_for_valid(self) -> uint32 Get combination of Node info flags describing which attributes are valid.",
"func":1
},
{
"ref":"ida_graph.get_node_info",
"url":16,
"doc":"get_node_info(out, gid, node) -> bool Get node info. @param out: (C : node_info_t  ) result @param gid: (C : graph_id_t) id of desired graph @param node: (C : int) node number @return: success",
"func":1
},
{
"ref":"ida_graph.set_node_info",
"url":16,
"doc":"set_node_info(gid, node, ni, flags) Set node info. @param gid: (C : graph_id_t) id of desired graph @param node: (C : int) node number @param ni: (C : const node_info_t &) node info to use @param flags: (C : uint32) combination of Node info flags, identifying which fields of 'ni' will be used",
"func":1
},
{
"ref":"ida_graph.del_node_info",
"url":16,
"doc":"del_node_info(gid, node) Delete the node_info_t for the given node. @param gid: (C : graph_id_t) @param node: (C : int)",
"func":1
},
{
"ref":"ida_graph.clr_node_info",
"url":16,
"doc":"clr_node_info(gid, node, flags) Clear node info for the given node. @param gid: (C : graph_id_t) id of desired graph @param node: (C : int) node number @param flags: (C : uint32) combination of Node info flags, identifying which fields of node_info_t will be cleared",
"func":1
},
{
"ref":"ida_graph.graph_node_visitor_t",
"url":16,
"doc":"Proxy of C graph_node_visitor_t class. __init__(self) -> graph_node_visitor_t @param self: PyObject  "
},
{
"ref":"ida_graph.graph_node_visitor_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.graph_node_visitor_t.reinit",
"url":16,
"doc":"reinit(self) Reset visited nodes.",
"func":1
},
{
"ref":"ida_graph.graph_node_visitor_t.set_visited",
"url":16,
"doc":"set_visited(self, n) Mark node as visited. @param n: (C : int)",
"func":1
},
{
"ref":"ida_graph.graph_node_visitor_t.is_visited",
"url":16,
"doc":"is_visited(self, n) -> bool Have we already visited the given node? @param n: (C : int)",
"func":1
},
{
"ref":"ida_graph.graph_node_visitor_t.visit_node",
"url":16,
"doc":"visit_node(self, arg0) -> int Implements action to take when a node is visited. @param arg0: int",
"func":1
},
{
"ref":"ida_graph.graph_node_visitor_t.is_forbidden_edge",
"url":16,
"doc":"is_forbidden_edge(self, arg0, arg1) -> bool Should the edge between 'n' and 'm' be ignored? @param arg0: int @param arg1: int",
"func":1
},
{
"ref":"ida_graph.graph_path_visitor_t",
"url":16,
"doc":"Proxy of C graph_path_visitor_t class. __init__(self) -> graph_path_visitor_t @param self: PyObject  "
},
{
"ref":"ida_graph.graph_path_visitor_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.graph_path_visitor_t.path",
"url":16,
"doc":"current path"
},
{
"ref":"ida_graph.graph_path_visitor_t.prune",
"url":16,
"doc":"walk_forward(): prune := true means to stop the current path"
},
{
"ref":"ida_graph.graph_path_visitor_t.walk_forward",
"url":16,
"doc":"walk_forward(self, arg0) -> int @param arg0: int",
"func":1
},
{
"ref":"ida_graph.graph_path_visitor_t.walk_backward",
"url":16,
"doc":"walk_backward(self, arg0) -> int @param arg0: int",
"func":1
},
{
"ref":"ida_graph.point_t",
"url":16,
"doc":"Proxy of C point_t class. __init__(self) -> point_t __init__(self, _x, _y) -> point_t @param _x: int @param _y: int"
},
{
"ref":"ida_graph.point_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.point_t.x",
"url":16,
"doc":"x"
},
{
"ref":"ida_graph.point_t.y",
"url":16,
"doc":"y"
},
{
"ref":"ida_graph.point_t.add",
"url":16,
"doc":"add(self, r) -> point_t @param r: point_t const &",
"func":1
},
{
"ref":"ida_graph.point_t.sub",
"url":16,
"doc":"sub(self, r) -> point_t @param r: point_t const &",
"func":1
},
{
"ref":"ida_graph.point_t.negate",
"url":16,
"doc":"negate(self)",
"func":1
},
{
"ref":"ida_graph.calc_dist",
"url":16,
"doc":"calc_dist(p, q) -> double Calculate distance between p and q. @param p: (C : point_t) @param q: (C : point_t)",
"func":1
},
{
"ref":"ida_graph.pointseq_t",
"url":16,
"doc":"Proxy of C pointseq_t class. __init__(self) -> pointseq_t"
},
{
"ref":"ida_graph.pointseq_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.pointseq_t.push_back",
"url":16,
"doc":"push_back(self, x) @param x: point_t const & push_back(self) -> point_t",
"func":1
},
{
"ref":"ida_graph.pointseq_t.pop_back",
"url":16,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_graph.pointseq_t.size",
"url":16,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_graph.pointseq_t.empty",
"url":16,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_graph.pointseq_t.at",
"url":16,
"doc":"at(self, _idx) -> point_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_graph.pointseq_t.qclear",
"url":16,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_graph.pointseq_t.clear",
"url":16,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_graph.pointseq_t.resize",
"url":16,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: point_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_graph.pointseq_t.grow",
"url":16,
"doc":"grow(self, x=point_t( @param x: point_t const &",
"func":1
},
{
"ref":"ida_graph.pointseq_t.capacity",
"url":16,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_graph.pointseq_t.reserve",
"url":16,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_graph.pointseq_t.truncate",
"url":16,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_graph.pointseq_t.swap",
"url":16,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_graph.pointseq_t.extract",
"url":16,
"doc":"extract(self) -> point_t",
"func":1
},
{
"ref":"ida_graph.pointseq_t.inject",
"url":16,
"doc":"inject(self, s, len) @param s: point_t  @param len: size_t",
"func":1
},
{
"ref":"ida_graph.pointseq_t.begin",
"url":16,
"doc":"begin(self) -> point_t",
"func":1
},
{
"ref":"ida_graph.pointseq_t.end",
"url":16,
"doc":"end(self) -> point_t",
"func":1
},
{
"ref":"ida_graph.pointseq_t.insert",
"url":16,
"doc":"insert(self, it, x) -> point_t @param it: qvector  iterator @param x: point_t const &",
"func":1
},
{
"ref":"ida_graph.pointseq_t.erase",
"url":16,
"doc":"erase(self, it) -> point_t @param it: qvector  iterator erase(self, first, last) -> point_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_graph.pointseq_t.find",
"url":16,
"doc":"find(self, x) -> point_t @param x: point_t const &",
"func":1
},
{
"ref":"ida_graph.pointseq_t.has",
"url":16,
"doc":"has(self, x) -> bool @param x: point_t const &",
"func":1
},
{
"ref":"ida_graph.pointseq_t.add_unique",
"url":16,
"doc":"add_unique(self, x) -> bool @param x: point_t const &",
"func":1
},
{
"ref":"ida_graph.rect_t",
"url":16,
"doc":"Proxy of C rect_t class. __init__(self) -> rect_t __init__(self, l, t, r, b) -> rect_t @param l: int @param t: int @param r: int @param b: int __init__(self, p0, p1) -> rect_t @param p0: point_t const & @param p1: point_t const &"
},
{
"ref":"ida_graph.rect_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.rect_t.left",
"url":16,
"doc":"left"
},
{
"ref":"ida_graph.rect_t.top",
"url":16,
"doc":"top"
},
{
"ref":"ida_graph.rect_t.right",
"url":16,
"doc":"right"
},
{
"ref":"ida_graph.rect_t.bottom",
"url":16,
"doc":"bottom"
},
{
"ref":"ida_graph.rect_t.verify",
"url":16,
"doc":"verify(self)",
"func":1
},
{
"ref":"ida_graph.rect_t.width",
"url":16,
"doc":"width(self) -> int",
"func":1
},
{
"ref":"ida_graph.rect_t.height",
"url":16,
"doc":"height(self) -> int",
"func":1
},
{
"ref":"ida_graph.rect_t.move_to",
"url":16,
"doc":"move_to(self, p) @param p: point_t const &",
"func":1
},
{
"ref":"ida_graph.rect_t.move_by",
"url":16,
"doc":"move_by(self, p) @param p: point_t const &",
"func":1
},
{
"ref":"ida_graph.rect_t.center",
"url":16,
"doc":"center(self) -> point_t",
"func":1
},
{
"ref":"ida_graph.rect_t.topleft",
"url":16,
"doc":"topleft(self) -> point_t",
"func":1
},
{
"ref":"ida_graph.rect_t.bottomright",
"url":16,
"doc":"bottomright(self) -> point_t",
"func":1
},
{
"ref":"ida_graph.rect_t.grow",
"url":16,
"doc":"grow(self, delta) @param delta: int",
"func":1
},
{
"ref":"ida_graph.rect_t.intersect",
"url":16,
"doc":"intersect(self, r) @param r: rect_t const &",
"func":1
},
{
"ref":"ida_graph.rect_t.make_union",
"url":16,
"doc":"make_union(self, r) @param r: rect_t const &",
"func":1
},
{
"ref":"ida_graph.rect_t.empty",
"url":16,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_graph.rect_t.is_intersection_empty",
"url":16,
"doc":"is_intersection_empty(self, r) -> bool @param r: rect_t const &",
"func":1
},
{
"ref":"ida_graph.rect_t.contains",
"url":16,
"doc":"contains(self, p) -> bool @param p: point_t const &",
"func":1
},
{
"ref":"ida_graph.rect_t.area",
"url":16,
"doc":"area(self) -> int",
"func":1
},
{
"ref":"ida_graph.TPointDouble",
"url":16,
"doc":"Proxy of C TPointDouble class. __init__(self) -> TPointDouble __init__(self, a, b) -> TPointDouble @param a: double @param b: double __init__(self, r) -> TPointDouble @param r: point_t const &"
},
{
"ref":"ida_graph.TPointDouble.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.TPointDouble.x",
"url":16,
"doc":"x"
},
{
"ref":"ida_graph.TPointDouble.y",
"url":16,
"doc":"y"
},
{
"ref":"ida_graph.TPointDouble.add",
"url":16,
"doc":"add(self, r) @param r: TPointDouble const &",
"func":1
},
{
"ref":"ida_graph.TPointDouble.sub",
"url":16,
"doc":"sub(self, r) @param r: TPointDouble const &",
"func":1
},
{
"ref":"ida_graph.TPointDouble.negate",
"url":16,
"doc":"negate(self)",
"func":1
},
{
"ref":"ida_graph.edge_info_t",
"url":16,
"doc":"Proxy of C edge_info_t class. __init__(self) -> edge_info_t"
},
{
"ref":"ida_graph.edge_info_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.edge_info_t.color",
"url":16,
"doc":"edge color"
},
{
"ref":"ida_graph.edge_info_t.width",
"url":16,
"doc":"edge width"
},
{
"ref":"ida_graph.edge_info_t.srcoff",
"url":16,
"doc":"source: edge port offset from the left"
},
{
"ref":"ida_graph.edge_info_t.dstoff",
"url":16,
"doc":"destination: edge port offset from the left"
},
{
"ref":"ida_graph.edge_info_t.layout",
"url":16,
"doc":"describes geometry of edge"
},
{
"ref":"ida_graph.edge_info_t.reverse_layout",
"url":16,
"doc":"reverse_layout(self)",
"func":1
},
{
"ref":"ida_graph.edge_layout_point_t",
"url":16,
"doc":"Proxy of C edge_layout_point_t class. __init__(self) -> edge_layout_point_t __init__(self, _e, _pidx) -> edge_layout_point_t @param _e: edge_t const & @param _pidx: int"
},
{
"ref":"ida_graph.edge_layout_point_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.edge_layout_point_t.pidx",
"url":16,
"doc":"index into edge_info_t layout"
},
{
"ref":"ida_graph.edge_layout_point_t.e",
"url":16,
"doc":"parent edge"
},
{
"ref":"ida_graph.edge_layout_point_t.compare",
"url":16,
"doc":"compare(self, r) -> int @param r: edge_layout_point_t const &",
"func":1
},
{
"ref":"ida_graph.selection_item_t",
"url":16,
"doc":"Proxy of C selection_item_t class. __init__(self) -> selection_item_t __init__(self, n) -> selection_item_t @param n: int __init__(self, _elp) -> selection_item_t @param _elp: edge_layout_point_t & __init__(self, e, idx) -> selection_item_t @param e: edge_t @param idx: int"
},
{
"ref":"ida_graph.selection_item_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.selection_item_t.is_node",
"url":16,
"doc":"represents a selected node?"
},
{
"ref":"ida_graph.selection_item_t.node",
"url":16,
"doc":"node number (is_node = true)"
},
{
"ref":"ida_graph.selection_item_t.elp",
"url":16,
"doc":"edge layout point (is_node = false)"
},
{
"ref":"ida_graph.selection_item_t.compare",
"url":16,
"doc":"compare(self, r) -> int @param r: selection_item_t const &",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t",
"url":16,
"doc":"Proxy of C screen_graph_selection_t class. __init__(self) -> screen_graph_selection_t"
},
{
"ref":"ida_graph.screen_graph_selection_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.screen_graph_selection_t.has",
"url":16,
"doc":"has(self, item) -> bool @param item: selection_item_t const &",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.add",
"url":16,
"doc":"add(self, s) @param s: screen_graph_selection_t const &",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.sub",
"url":16,
"doc":"sub(self, s) @param s: screen_graph_selection_t const &",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.add_node",
"url":16,
"doc":"add_node(self, node) @param node: int",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.del_node",
"url":16,
"doc":"del_node(self, node) @param node: int",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.add_point",
"url":16,
"doc":"add_point(self, e, idx) @param e: edge_t @param idx: int",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.del_point",
"url":16,
"doc":"del_point(self, e, idx) @param e: edge_t @param idx: int",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.nodes_count",
"url":16,
"doc":"nodes_count(self) -> size_t",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.points_count",
"url":16,
"doc":"points_count(self) -> size_t",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.items_count",
"url":16,
"doc":"items_count(self, look_for_nodes) -> size_t @param look_for_nodes: bool",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.push_back",
"url":16,
"doc":"push_back(self, x) @param x: selection_item_t const & push_back(self) -> selection_item_t",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.pop_back",
"url":16,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.size",
"url":16,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.empty",
"url":16,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.at",
"url":16,
"doc":"at(self, _idx) -> selection_item_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.qclear",
"url":16,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.clear",
"url":16,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.resize",
"url":16,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: selection_item_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.grow",
"url":16,
"doc":"grow(self, x=selection_item_t( @param x: selection_item_t const &",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.capacity",
"url":16,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.reserve",
"url":16,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.truncate",
"url":16,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.swap",
"url":16,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.extract",
"url":16,
"doc":"extract(self) -> selection_item_t",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.inject",
"url":16,
"doc":"inject(self, s, len) @param s: selection_item_t  @param len: size_t",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.begin",
"url":16,
"doc":"begin(self) -> selection_item_t",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.end",
"url":16,
"doc":"end(self) -> selection_item_t",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.insert",
"url":16,
"doc":"insert(self, it, x) -> selection_item_t @param it: qvector  iterator @param x: selection_item_t const &",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.erase",
"url":16,
"doc":"erase(self, it) -> selection_item_t @param it: qvector  iterator erase(self, first, last) -> selection_item_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.find",
"url":16,
"doc":"find(self, x) -> selection_item_t @param x: selection_item_t const &",
"func":1
},
{
"ref":"ida_graph.screen_graph_selection_t.add_unique",
"url":16,
"doc":"add_unique(self, x) -> bool @param x: selection_item_t const &",
"func":1
},
{
"ref":"ida_graph.edge_segment_t",
"url":16,
"doc":"Proxy of C edge_segment_t class. __init__(self) -> edge_segment_t"
},
{
"ref":"ida_graph.edge_segment_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.edge_segment_t.e",
"url":16,
"doc":"e"
},
{
"ref":"ida_graph.edge_segment_t.nseg",
"url":16,
"doc":"nseg"
},
{
"ref":"ida_graph.edge_segment_t.x0",
"url":16,
"doc":"x0"
},
{
"ref":"ida_graph.edge_segment_t.x1",
"url":16,
"doc":"x1"
},
{
"ref":"ida_graph.edge_segment_t.length",
"url":16,
"doc":"length(self) -> size_t",
"func":1
},
{
"ref":"ida_graph.edge_segment_t.toright",
"url":16,
"doc":"toright(self) -> bool",
"func":1
},
{
"ref":"ida_graph.git_none",
"url":16,
"doc":"nothing"
},
{
"ref":"ida_graph.git_edge",
"url":16,
"doc":"edge (graph_item_t e, graph_item_t n. n is farthest edge endpoint)"
},
{
"ref":"ida_graph.git_node",
"url":16,
"doc":"node title (graph_item_t n)"
},
{
"ref":"ida_graph.git_tool",
"url":16,
"doc":"node title button (graph_item_t n, graph_item_t b)"
},
{
"ref":"ida_graph.git_text",
"url":16,
"doc":"node text (graph_item_t n, graph_item_t p)"
},
{
"ref":"ida_graph.git_elp",
"url":16,
"doc":"edge layout point (graph_item_t elp)"
},
{
"ref":"ida_graph.graph_item_t",
"url":16,
"doc":"Proxy of C graph_item_t class. __init__(self) -> graph_item_t"
},
{
"ref":"ida_graph.graph_item_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.graph_item_t.type",
"url":16,
"doc":"type"
},
{
"ref":"ida_graph.graph_item_t.e",
"url":16,
"doc":"edge source and destination"
},
{
"ref":"ida_graph.graph_item_t.n",
"url":16,
"doc":"node number"
},
{
"ref":"ida_graph.graph_item_t.b",
"url":16,
"doc":"button number"
},
{
"ref":"ida_graph.graph_item_t.p",
"url":16,
"doc":"text coordinates in the node"
},
{
"ref":"ida_graph.graph_item_t.elp",
"url":16,
"doc":"edge layout point"
},
{
"ref":"ida_graph.graph_item_t.is_node",
"url":16,
"doc":"is_node(self) -> bool",
"func":1
},
{
"ref":"ida_graph.graph_item_t.is_edge",
"url":16,
"doc":"is_edge(self) -> bool",
"func":1
},
{
"ref":"ida_graph.interval_t",
"url":16,
"doc":"Proxy of C interval_t class. __init__(self) -> interval_t __init__(self, y0, y1) -> interval_t @param y0: int @param y1: int __init__(self, s) -> interval_t @param s: edge_segment_t const &"
},
{
"ref":"ida_graph.interval_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.interval_t.x0",
"url":16,
"doc":"x0"
},
{
"ref":"ida_graph.interval_t.x1",
"url":16,
"doc":"x1"
},
{
"ref":"ida_graph.interval_t.empty",
"url":16,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_graph.interval_t.intersect",
"url":16,
"doc":"intersect(self, r) @param r: interval_t const &",
"func":1
},
{
"ref":"ida_graph.interval_t.make_union",
"url":16,
"doc":"make_union(self, r) @param r: interval_t const &",
"func":1
},
{
"ref":"ida_graph.interval_t.move_by",
"url":16,
"doc":"move_by(self, shift) @param shift: int",
"func":1
},
{
"ref":"ida_graph.interval_t.length",
"url":16,
"doc":"length(self) -> int",
"func":1
},
{
"ref":"ida_graph.interval_t.contains",
"url":16,
"doc":"contains(self, x) -> bool @param x: int",
"func":1
},
{
"ref":"ida_graph.row_info_t",
"url":16,
"doc":"Proxy of C row_info_t class. __init__(self) -> row_info_t"
},
{
"ref":"ida_graph.row_info_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.row_info_t.nodes",
"url":16,
"doc":"list of nodes at the row"
},
{
"ref":"ida_graph.row_info_t.top",
"url":16,
"doc":"top y coord of the row"
},
{
"ref":"ida_graph.row_info_t.bottom",
"url":16,
"doc":"bottom y coord of the row"
},
{
"ref":"ida_graph.row_info_t.height",
"url":16,
"doc":"height(self) -> int",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t",
"url":16,
"doc":"Proxy of C drawable_graph_t class. __init__(self) -> drawable_graph_t @param self: PyObject  "
},
{
"ref":"ida_graph.drawable_graph_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.drawable_graph_t.title",
"url":16,
"doc":"graph title"
},
{
"ref":"ida_graph.drawable_graph_t.rect_edges_made",
"url":16,
"doc":"have create rectangular edges?"
},
{
"ref":"ida_graph.drawable_graph_t.current_layout",
"url":16,
"doc":"see Proximity view layouts"
},
{
"ref":"ida_graph.drawable_graph_t.circle_center",
"url":16,
"doc":"for layout_circle"
},
{
"ref":"ida_graph.drawable_graph_t.circle_radius",
"url":16,
"doc":"for layout_circle"
},
{
"ref":"ida_graph.drawable_graph_t.callback_ud",
"url":16,
"doc":"user data for callback"
},
{
"ref":"ida_graph.drawable_graph_t.create_tree_layout",
"url":16,
"doc":"create_tree_layout(self) -> bool",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.create_circle_layout",
"url":16,
"doc":"create_circle_layout(self, p, radius) -> bool @param p: point_t @param radius: int",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.set_callback",
"url":16,
"doc":"set_callback(self, _callback, _ud) @param _callback: hook_cb_t  @param _ud: void  ",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.grcall",
"url":16,
"doc":"grcall(self, code) -> ssize_t @param code: int",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.get_edge",
"url":16,
"doc":"get_edge(self, e) -> edge_info_t @param e: edge_t",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.nrect",
"url":16,
"doc":"nrect(self, n) -> rect_t @param n: int",
"func":1
},
{
"ref":"ida_graph.edge_infos_wrapper_t",
"url":16,
"doc":"Proxy of C edge_infos_wrapper_t class."
},
{
"ref":"ida_graph.edge_infos_wrapper_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.edge_infos_wrapper_t.clear",
"url":16,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_graph.edge_infos_wrapper_t.ptr",
"url":16,
"doc":"ptr"
},
{
"ref":"ida_graph.interactive_graph_t",
"url":16,
"doc":"Proxy of C interactive_graph_t class. __init__(self) -> drawable_graph_t @param self: PyObject  "
},
{
"ref":"ida_graph.interactive_graph_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.interactive_graph_t.gid",
"url":16,
"doc":"graph id - unique for the database for flowcharts it is equal to the function start_ea"
},
{
"ref":"ida_graph.interactive_graph_t.belongs",
"url":16,
"doc":"the subgraph the node belongs to INT_MAX means that the node doesn't exist sign bit means collapsed node"
},
{
"ref":"ida_graph.interactive_graph_t.node_flags",
"url":16,
"doc":"node flags"
},
{
"ref":"ida_graph.interactive_graph_t.org_succs",
"url":16,
"doc":"org_succs"
},
{
"ref":"ida_graph.interactive_graph_t.org_preds",
"url":16,
"doc":"org_preds"
},
{
"ref":"ida_graph.interactive_graph_t.succs",
"url":16,
"doc":"succs"
},
{
"ref":"ida_graph.interactive_graph_t.preds",
"url":16,
"doc":"preds"
},
{
"ref":"ida_graph.interactive_graph_t.nodes",
"url":16,
"doc":"nodes"
},
{
"ref":"ida_graph.interactive_graph_t.edges",
"url":16,
"doc":"edges"
},
{
"ref":"ida_graph.interactive_graph_t.size",
"url":16,
"doc":"size(self) -> int Get the total number of nodes (including group nodes, and including hidden nodes.) See also node_qty() @return: the total number of nodes in the graph",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.node_qty",
"url":16,
"doc":"node_qty(self) -> int Get the number of visible nodes (the list can be retrieved using gdl.hpp's node_iterator) See also size() @return: the number of visible nodes",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.empty",
"url":16,
"doc":"empty(self) -> bool Is the graph (visually) empty? @return: true if there are no visible nodes",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.exists",
"url":16,
"doc":"exists(self, node) -> bool Is the node visible? @param node: (C : int) the node number @return: success",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.get_node_representative",
"url":16,
"doc":"get_node_representative(self, node) -> int Get the node that currently visually represents 'node'. This will find the \"closest\" parent group node that's visible, by attempting to walk up the group nodes that contain 'node', and will stop when it finds a node that is currently visible. See also get_group_node() @param node: (C : int) the node @return: the node that represents 'node', or 'node' if it's not part of any group",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.get_node_group",
"url":16,
"doc":"get_node_group(self, node) -> int @param node: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.set_node_group",
"url":16,
"doc":"set_node_group(self, node, group) @param node: int @param group: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.is_deleted_node",
"url":16,
"doc":"is_deleted_node(self, node) -> bool @param node: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.set_deleted_node",
"url":16,
"doc":"set_deleted_node(self, node) @param node: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.is_subgraph_node",
"url":16,
"doc":"is_subgraph_node(self, node) -> bool @param node: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.is_dot_node",
"url":16,
"doc":"is_dot_node(self, node) -> bool @param node: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.is_group_node",
"url":16,
"doc":"is_group_node(self, node) -> bool @param node: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.is_displayable_node",
"url":16,
"doc":"is_displayable_node(self, node) -> bool @param node: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.is_simple_node",
"url":16,
"doc":"is_simple_node(self, node) -> bool @param node: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.is_collapsed_node",
"url":16,
"doc":"is_collapsed_node(self, node) -> bool @param node: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.is_uncollapsed_node",
"url":16,
"doc":"is_uncollapsed_node(self, node) -> bool @param node: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.is_visible_node",
"url":16,
"doc":"is_visible_node(self, node) -> bool Is the node currently visible? An invisible node is a node that's part of a group that's currently collapsed. @param node: (C : int) the node @return: success",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.get_first_subgraph_node",
"url":16,
"doc":"get_first_subgraph_node(self, group) -> int @param group: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.get_next_subgraph_node",
"url":16,
"doc":"get_next_subgraph_node(self, group, current) -> int @param group: int @param current: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.create_group",
"url":16,
"doc":"create_group(self, nodes) -> int Create a new group node, that will contain all the nodes in 'nodes'. @param nodes: (C : const intvec_t &) the nodes that will be part of the group @return: the group node, or -1 in case of error",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.delete_group",
"url":16,
"doc":"delete_group(self, group) -> bool Delete a group node. This deletes the group node only; it does not delete nodes that are part of the group. @param group: (C : int) the group node @return: success",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.change_group_visibility",
"url":16,
"doc":"change_group_visibility(self, group, expand) -> bool Expand/collapse a group node @param group: (C : int) the group node @param expand: (C : bool) whether to expand or collapse @return: success",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.nsucc",
"url":16,
"doc":"nsucc(self, b) -> int @param b: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.npred",
"url":16,
"doc":"npred(self, b) -> int @param b: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.succ",
"url":16,
"doc":"succ(self, b, i) -> int @param b: int @param i: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.pred",
"url":16,
"doc":"pred(self, b, i) -> int @param b: int @param i: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.succset",
"url":16,
"doc":"succset(self, b) -> intvec_t const & @param b: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.predset",
"url":16,
"doc":"predset(self, b) -> intvec_t const & @param b: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.reset",
"url":16,
"doc":"reset(self)",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.redo_layout",
"url":16,
"doc":"redo_layout(self) -> bool Recompute the layout, according to the value of 'current_layout'. @return: success",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.resize",
"url":16,
"doc":"resize(self, n) Resize the graph to 'n' nodes @param n: (C : int) the new size",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.add_node",
"url":16,
"doc":"add_node(self, r) -> int Add a node, possibly with a specific geometry @param r: (C : const rect_t  ) the node geometry (can be nullptr) @return: the new node",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.del_node",
"url":16,
"doc":"del_node(self, n) -> ssize_t Delete a node @param n: (C : int) the node to delete @return: the number of deleted edges",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.add_edge",
"url":16,
"doc":"add_edge(self, i, j, ei) -> bool @param i: int @param j: int @param ei: edge_info_t const  ",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.del_edge",
"url":16,
"doc":"del_edge(self, i, j) -> bool @param i: int @param j: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.replace_edge",
"url":16,
"doc":"replace_edge(self, i, j, x, y) -> bool @param i: int @param j: int @param x: int @param y: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.refresh",
"url":16,
"doc":"refresh(self) -> bool Refresh the graph A graph needs refreshing when it's \"backing data\". E.g., if the number (or contents) of the objects in the above example, change. Let's say the user's plugin ends up finding a 5th piece of scattered data. It should then add it to its internal list of known objects, and tell IDA that the graph needs to be refreshed, using refresh_viewer(). This will cause IDA to:  discard all its internal rendering information,  call interactive_graph_t refresh() on the graph so that the user's plugin has a chance to \"sync\" the number of nodes & edges that this graph contains, to the information that the plugin has collected so far  re-create internal rendering information, and  repaint the view @return: success",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.set_nrect",
"url":16,
"doc":"set_nrect(self, n, r) -> bool @param n: int @param r: rect_t const &",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.set_edge",
"url":16,
"doc":"set_edge(self, e, ei) -> bool @param e: edge_t @param ei: edge_info_t const  ",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.create_digraph_layout",
"url":16,
"doc":"create_digraph_layout(self) -> bool",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.del_custom_layout",
"url":16,
"doc":"del_custom_layout(self)",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.get_custom_layout",
"url":16,
"doc":"get_custom_layout(self) -> bool",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.set_custom_layout",
"url":16,
"doc":"set_custom_layout(self)",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.get_graph_groups",
"url":16,
"doc":"get_graph_groups(self) -> bool",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.set_graph_groups",
"url":16,
"doc":"set_graph_groups(self)",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.calc_group_ea",
"url":16,
"doc":"calc_group_ea(self, arg2) -> ea_t @param arg2: intvec_t const &",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.is_user_graph",
"url":16,
"doc":"is_user_graph(self) -> bool",
"func":1
},
{
"ref":"ida_graph.MTG_GROUP_NODE",
"url":16,
"doc":"is group node?"
},
{
"ref":"ida_graph.MTG_DOT_NODE",
"url":16,
"doc":"is dot node?"
},
{
"ref":"ida_graph.MTG_NON_DISPLAYABLE_NODE",
"url":16,
"doc":"for disassembly graphs - non-displayable nodes have a visible area that is too large to generate disassembly lines for without IDA slowing down significantly (see MAX_VISIBLE_NODE_AREA)"
},
{
"ref":"ida_graph.graph_visitor_t",
"url":16,
"doc":"Proxy of C graph_visitor_t class. __init__(self) -> graph_visitor_t @param self: PyObject  "
},
{
"ref":"ida_graph.graph_visitor_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.graph_visitor_t.visit_node",
"url":16,
"doc":"visit_node(self, arg2, arg3) -> int @param arg2: int @param arg3: rect_t &",
"func":1
},
{
"ref":"ida_graph.graph_visitor_t.visit_edge",
"url":16,
"doc":"visit_edge(self, arg2, arg3) -> int @param arg2: edge_t @param arg3: edge_info_t  ",
"func":1
},
{
"ref":"ida_graph.grcode_calculating_layout",
"url":16,
"doc":"calculating user-defined graph layout. @param g: (interactive_graph_t  ) @retval 0: not implemented @retval 1: graph layout calculated by the plugin"
},
{
"ref":"ida_graph.grcode_layout_calculated",
"url":16,
"doc":"graph layout calculated. @param g: (interactive_graph_t  ) @param layout_succeeded: (bool) @retval 0: must return 0"
},
{
"ref":"ida_graph.grcode_changed_graph",
"url":16,
"doc":"new graph has been set. @param g: (interactive_graph_t  ) @retval 0: must return 0"
},
{
"ref":"ida_graph.grcode_clicked",
"url":16,
"doc":"graph is being clicked. this callback allows you to ignore some clicks. it occurs too early, internal graph variables are not updated yet. current_item1, current_item2 point to the same thing. item2 has more information. see also: custom_viewer_click_t @param gv: (graph_viewer_t  ) @param current_item1: (selection_item_t  ) @param current_item2: (graph_item_t  ) @retval 0: ok @retval 1: ignore click"
},
{
"ref":"ida_graph.grcode_dblclicked",
"url":16,
"doc":"a graph node has been double clicked. @param gv: (graph_viewer_t  ) @param current_item: (selection_item_t  ) @retval 0: ok @retval 1: ignore click"
},
{
"ref":"ida_graph.grcode_creating_group",
"url":16,
"doc":"a group is being created. this provides an opportunity for the graph to forbid creation of the group. Note that groups management is done by the interactive_graph_t instance itself: there is no need to modify the graph in this callback. @param g: (interactive_graph_t  ) @param nodes: (intvec_t  ) @retval 0: ok @retval 1: forbid group creation"
},
{
"ref":"ida_graph.grcode_deleting_group",
"url":16,
"doc":"a group is being deleted. this provides an opportunity for the graph to forbid deletion of the group. Note that groups management is done by the interactive_graph_t instance itself: there is no need to modify the graph in this callback. @param g: (interactive_graph_t  ) @param old_group: (int) @retval 0: ok @retval 1: forbid group deletion"
},
{
"ref":"ida_graph.grcode_group_visibility",
"url":16,
"doc":"a group is being collapsed/uncollapsed this provides an opportunity for the graph to forbid changing the visibility of the group. Note that groups management is done by the interactive_graph_t instance itself: there is no need to modify the graph in this callback. @param g: (interactive_graph_t  ) @param group: (int) @param expand: (bool) @retval 0: ok @retval 1: forbid group modification"
},
{
"ref":"ida_graph.grcode_gotfocus",
"url":16,
"doc":"a graph viewer got focus. @param gv: (graph_viewer_t  ) @retval 0: must return 0"
},
{
"ref":"ida_graph.grcode_lostfocus",
"url":16,
"doc":"a graph viewer lost focus. @param gv: (graph_viewer_t  ) @retval 0: must return 0"
},
{
"ref":"ida_graph.grcode_user_refresh",
"url":16,
"doc":"refresh user-defined graph nodes and edges This is called when the UI considers that it is necessary to recreate the graph layout, and thus has to ensure that the 'interactive_graph_t' instance it is using, is up-to-date. For example:  at graph creation-time  if a refresh_viewer() call was made @param g: (interactive_graph_t  ) @return: success"
},
{
"ref":"ida_graph.grcode_user_text",
"url":16,
"doc":"retrieve text for user-defined graph node. NB: do not use anything calling GDI! @param g: (interactive_graph_t  ) @param node: (int) @param result: (const char  ) @param bg_color: (bgcolor_t  ) may be nullptr @return: success, result must be filled"
},
{
"ref":"ida_graph.grcode_user_size",
"url":16,
"doc":"calculate node size for user-defined graph. @param g: (interactive_graph_t  ) @param node: (int) @param cx: (int  ) @param cy: (int  ) @retval 0: did not calculate. ida will use node text size @retval 1: calculated. ida will add node title to the size"
},
{
"ref":"ida_graph.grcode_user_title",
"url":16,
"doc":"render node title of a user-defined graph. @param g: (interactive_graph_t  ) @param node: (int) @param title_rect: (rect_t  ) @param title_bg_color: (int) @param dc: (HDC) @retval 0: did not render, ida will fill it with title_bg_color @retval 1: rendered node title"
},
{
"ref":"ida_graph.grcode_user_draw",
"url":16,
"doc":"render node of a user-defined graph. NB: draw only on the specified DC and nowhere else! @param g: (interactive_graph_t  ) @param node: (int) @param node_rect: (rect_t  ) @param dc: (HDC) @retval 0: not rendered @retval 1: rendered"
},
{
"ref":"ida_graph.grcode_user_hint",
"url":16,
"doc":"retrieve hint for the user-defined graph. @param g: (interactive_graph_t  ) @param mousenode: (int) @param mouseedge_src: (int) @param mouseedge_dst: (int) @param hint: (char  ) must be allocated by qalloc() or qstrdup() @retval 0: use default hint @retval 1: use proposed hint"
},
{
"ref":"ida_graph.grcode_destroyed",
"url":16,
"doc":"graph is being destroyed. Note that this doesn't mean the graph viewer is being destroyed; this only means that the graph that is being displayed by it is being destroyed, and that, e.g., any possibly cached data should be invalidated (this event can happen when, for example, the user decides to group nodes together: that operation will effectively create a new graph, that will replace the old one.) To be notified when the graph viewer itself is being destroyed, please see notification 'view_close', in kernwin.hpp @param g: (interactive_graph_t  ) @retval 0: must return 0"
},
{
"ref":"ida_graph.grcode_create_graph_viewer",
"url":16,
"doc":"use create_graph_viewer()"
},
{
"ref":"ida_graph.grcode_get_graph_viewer",
"url":16,
"doc":"use get_graph_viewer()"
},
{
"ref":"ida_graph.grcode_get_viewer_graph",
"url":16,
"doc":"use get_viewer_graph()"
},
{
"ref":"ida_graph.grcode_create_interactive_graph",
"url":16,
"doc":"use create_interactive_graph()"
},
{
"ref":"ida_graph.grcode_set_viewer_graph",
"url":16,
"doc":"use set_viewer_graph()"
},
{
"ref":"ida_graph.grcode_refresh_viewer",
"url":16,
"doc":"use refresh_viewer()"
},
{
"ref":"ida_graph.grcode_fit_window",
"url":16,
"doc":"use viewer_fit_window()"
},
{
"ref":"ida_graph.grcode_get_curnode",
"url":16,
"doc":"use viewer_get_curnode()"
},
{
"ref":"ida_graph.grcode_center_on",
"url":16,
"doc":"use viewer_center_on()"
},
{
"ref":"ida_graph.grcode_get_selection",
"url":16,
"doc":"use viewer_get_selection()"
},
{
"ref":"ida_graph.grcode_del_custom_layout",
"url":16,
"doc":"use interactive_graph_t del_custom_layout()"
},
{
"ref":"ida_graph.grcode_set_custom_layout",
"url":16,
"doc":"use interactive_graph_t set_custom_layout()"
},
{
"ref":"ida_graph.grcode_set_graph_groups",
"url":16,
"doc":"use interactive_graph_t set_graph_groups()"
},
{
"ref":"ida_graph.grcode_clear",
"url":16,
"doc":"use interactive_graph_t clear()"
},
{
"ref":"ida_graph.grcode_create_digraph_layout",
"url":16,
"doc":"use interactive_graph_t create_digraph_layout()"
},
{
"ref":"ida_graph.grcode_create_tree_layout",
"url":16,
"doc":"use drawable_graph_t create_tree_layout()"
},
{
"ref":"ida_graph.grcode_create_circle_layout",
"url":16,
"doc":"use drawable_graph_t create_circle_layout()"
},
{
"ref":"ida_graph.grcode_get_node_representative",
"url":16,
"doc":"use interactive_graph_t get_node_representative()"
},
{
"ref":"ida_graph.grcode_find_subgraph_node",
"url":16,
"doc":"use interactive_graph_t _find_subgraph_node()"
},
{
"ref":"ida_graph.grcode_create_group",
"url":16,
"doc":"use interactive_graph_t create_group()"
},
{
"ref":"ida_graph.grcode_get_custom_layout",
"url":16,
"doc":"use interactive_graph_t get_custom_layout()"
},
{
"ref":"ida_graph.grcode_get_graph_groups",
"url":16,
"doc":"use interactive_graph_t get_graph_groups()"
},
{
"ref":"ida_graph.grcode_empty",
"url":16,
"doc":"use interactive_graph_t empty()"
},
{
"ref":"ida_graph.grcode_is_visible_node",
"url":16,
"doc":"use interactive_graph_t is_visible_node()"
},
{
"ref":"ida_graph.grcode_delete_group",
"url":16,
"doc":"use interactive_graph_t delete_group()"
},
{
"ref":"ida_graph.grcode_change_group_visibility",
"url":16,
"doc":"use interactive_graph_t change_group_visibility()"
},
{
"ref":"ida_graph.grcode_set_edge",
"url":16,
"doc":"use interactive_graph_t set_edge()"
},
{
"ref":"ida_graph.grcode_node_qty",
"url":16,
"doc":"use interactive_graph_t node_qty()"
},
{
"ref":"ida_graph.grcode_nrect",
"url":16,
"doc":"use interactive_graph_t nrect()"
},
{
"ref":"ida_graph.grcode_set_titlebar_height",
"url":16,
"doc":"use viewer_set_titlebar_height()"
},
{
"ref":"ida_graph.grcode_create_user_graph_place",
"url":16,
"doc":"use create_user_graph_place()"
},
{
"ref":"ida_graph.grcode_create_disasm_graph1",
"url":16,
"doc":"use create_disasm_graph(ea_t ea)"
},
{
"ref":"ida_graph.grcode_create_disasm_graph2",
"url":16,
"doc":"use create_disasm_graph(const rangevec_t &ranges)"
},
{
"ref":"ida_graph.grcode_set_node_info",
"url":16,
"doc":"use viewer_set_node_info()"
},
{
"ref":"ida_graph.grcode_get_node_info",
"url":16,
"doc":"use viewer_get_node_info()"
},
{
"ref":"ida_graph.grcode_del_node_info",
"url":16,
"doc":"use viewer_del_node_info()"
},
{
"ref":"ida_graph.grcode_viewer_create_groups_vec",
"url":16,
"doc":"use viewer_create_groups()"
},
{
"ref":"ida_graph.grcode_viewer_delete_groups_vec",
"url":16,
"doc":"use viewer_delete_groups()"
},
{
"ref":"ida_graph.grcode_viewer_groups_visibility_vec",
"url":16,
"doc":"use viewer_set_groups_visibility()"
},
{
"ref":"ida_graph.grcode_delete_interactive_graph",
"url":16,
"doc":"use delete_interactive_graph()"
},
{
"ref":"ida_graph.grcode_edge_infos_wrapper_copy",
"url":16,
"doc":"use edge_infos_wrapper_t operator=()"
},
{
"ref":"ida_graph.grcode_edge_infos_wrapper_clear",
"url":16,
"doc":"use edge_infos_wrapper_t clear()"
},
{
"ref":"ida_graph.grcode_set_gli",
"url":16,
"doc":"use viewer_set_gli()"
},
{
"ref":"ida_graph.grcode_get_gli",
"url":16,
"doc":"use viewer_get_gli()"
},
{
"ref":"ida_graph.group_crinfo_t",
"url":16,
"doc":"Proxy of C group_crinfo_t class. __init__(self) -> group_crinfo_t"
},
{
"ref":"ida_graph.group_crinfo_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.group_crinfo_t.nodes",
"url":16,
"doc":"nodes"
},
{
"ref":"ida_graph.group_crinfo_t.text",
"url":16,
"doc":"text"
},
{
"ref":"ida_graph.create_graph_viewer",
"url":16,
"doc":"create_graph_viewer(title, id, callback, ud, title_height, parent=None) -> graph_viewer_t Create a custom graph viewer. @param title: (C : const char  ) the widget title @param id: (C : uval_t) graph id @param callback: (C : hook_cb_t  ) callback to handle graph notifications (graph_notification_t) @param ud: (C : void  ) user data passed to callback @param title_height: (C : int) node title height @param parent: (C : TWidget  ) the parent widget of the graph viewer @return: new viewer",
"func":1
},
{
"ref":"ida_graph.get_graph_viewer",
"url":16,
"doc":"get_graph_viewer(parent) -> graph_viewer_t  Get custom graph viewer for given form. @param parent: (C : TWidget  )",
"func":1
},
{
"ref":"ida_graph.create_interactive_graph",
"url":16,
"doc":"create_interactive_graph(id) -> interactive_graph_t Create a new empty graph with given id. @param id: (C : uval_t)",
"func":1
},
{
"ref":"ida_graph.create_disasm_graph",
"url":16,
"doc":"create_disasm_graph(ea) -> interactive_graph_t Create a graph using an arbitrary set of ranges. @param ea: ea_t create_disasm_graph(ranges) -> interactive_graph_t @param ranges: rangevec_t const &",
"func":1
},
{
"ref":"ida_graph.get_viewer_graph",
"url":16,
"doc":"get_viewer_graph(gv) -> interactive_graph_t Get graph object for given custom graph viewer. @param gv: (C : graph_viewer_t  )",
"func":1
},
{
"ref":"ida_graph.set_viewer_graph",
"url":16,
"doc":"set_viewer_graph(gv, g) Set the underlying graph object for the given viewer. @param gv: (C : graph_viewer_t  ) @param g: (C : interactive_graph_t  )",
"func":1
},
{
"ref":"ida_graph.refresh_viewer",
"url":16,
"doc":"refresh_viewer(gv) Redraw the graph in the given view. @param gv: (C : graph_viewer_t  )",
"func":1
},
{
"ref":"ida_graph.viewer_fit_window",
"url":16,
"doc":"viewer_fit_window(gv) Fit graph viewer to its parent form. @param gv: (C : graph_viewer_t  )",
"func":1
},
{
"ref":"ida_graph.viewer_get_curnode",
"url":16,
"doc":"viewer_get_curnode(gv) -> int Get number of currently selected node (-1 if none) @param gv: (C : graph_viewer_t  )",
"func":1
},
{
"ref":"ida_graph.viewer_center_on",
"url":16,
"doc":"viewer_center_on(gv, node) Center the graph view on the given node. @param gv: (C : graph_viewer_t  ) @param node: (C : int)",
"func":1
},
{
"ref":"ida_graph.viewer_set_gli",
"url":16,
"doc":"viewer_set_gli(gv, gli, flags=0) Set location info for given graph view If flags contains GLICTL_CENTER, then the gli will be set to be the center of the view. Otherwise it will be the top-left. @param gv: (C : graph_viewer_t  ) @param gli: (C : const graph_location_info_t  ) graph_location_info_t const  @param flags: (C : uint32)",
"func":1
},
{
"ref":"ida_graph.viewer_get_gli",
"url":16,
"doc":"viewer_get_gli(out, gv, flags=0) -> bool Get location info for given graph view If flags contains GLICTL_CENTER, then the gli that will be retrieved, will be the one at the center of the view. Otherwise it will be the top-left. @param out: (C : graph_location_info_t  ) @param gv: (C : graph_viewer_t  ) @param flags: (C : uint32)",
"func":1
},
{
"ref":"ida_graph.viewer_set_node_info",
"url":16,
"doc":"viewer_set_node_info(gv, n, ni, flags) Set node info for node in given viewer (see set_node_info( @param gv: (C : graph_viewer_t  ) @param n: (C : int) @param ni: (C : const node_info_t &) node_info_t const & @param flags: (C : uint32)",
"func":1
},
{
"ref":"ida_graph.viewer_get_node_info",
"url":16,
"doc":"viewer_get_node_info(gv, out, n) -> bool Get node info for node in given viewer (see get_node_info( @param gv: (C : graph_viewer_t  ) @param out: (C : node_info_t  ) @param n: (C : int)",
"func":1
},
{
"ref":"ida_graph.viewer_del_node_info",
"url":16,
"doc":"viewer_del_node_info(gv, n) Delete node info for node in given viewer (see del_node_info( @param gv: (C : graph_viewer_t  ) @param n: (C : int)",
"func":1
},
{
"ref":"ida_graph.viewer_create_groups",
"url":16,
"doc":"viewer_create_groups(gv, out_group_nodes, gi) -> bool This will perform an operation similar to what happens when a user manually selects a set of nodes, right-clicks and selects \"Create group\". This is a wrapper around interactive_graph_t create_group that will, in essence:  clone the current graph  for each group_crinfo_t, attempt creating group in that new graph  if all were successful, animate to that new graph. @note: this accepts parameters that allow creating of multiple groups at once; which means only one graph animation will be triggered. @param gv: (C : graph_viewer_t  ) @param out_group_nodes: (C : intvec_t  ) @param gi: (C : const groups_crinfos_t &) groups_crinfos_t const &",
"func":1
},
{
"ref":"ida_graph.viewer_delete_groups",
"url":16,
"doc":"viewer_delete_groups(gv, groups, new_current=-1) -> bool Wrapper around interactive_graph_t delete_group. This function will:  clone the current graph  attempt deleting the groups in that new graph  if successful, animate to that new graph. @param gv: (C : graph_viewer_t  ) @param groups: (C : const intvec_t &) intvec_t const & @param new_current: (C : int)",
"func":1
},
{
"ref":"ida_graph.viewer_set_groups_visibility",
"url":16,
"doc":"viewer_set_groups_visibility(gv, groups, expand, new_current=-1) -> bool Wrapper around interactive_graph_t change_visibility. This function will:  clone the current graph  attempt changing visibility of the groups in that new graph  if successful, animate to that new graph. @param gv: (C : graph_viewer_t  ) @param groups: (C : const intvec_t &) intvec_t const & @param expand: (C : bool) @param new_current: (C : int)",
"func":1
},
{
"ref":"ida_graph.viewer_attach_menu_item",
"url":16,
"doc":"viewer_attach_menu_item(g, name) -> bool Attach a previously-registered action to the view's context menu. See kernwin.hpp for how to register actions. @param g: (C : graph_viewer_t  ) graph viewer @param name: (C : const char  ) action name @return: success",
"func":1
},
{
"ref":"ida_graph.viewer_get_selection",
"url":16,
"doc":"viewer_get_selection(gv, sgs) -> bool Get currently selected items for graph viewer. @param gv: (C : graph_viewer_t  ) @param sgs: (C : screen_graph_selection_t  )",
"func":1
},
{
"ref":"ida_graph.viewer_set_titlebar_height",
"url":16,
"doc":"viewer_set_titlebar_height(gv, height) -> int Set height of node title bars (grcode_set_titlebar_height) @param gv: (C : graph_viewer_t  ) @param height: (C : int)",
"func":1
},
{
"ref":"ida_graph.delete_interactive_graph",
"url":16,
"doc":"delete_interactive_graph(g) Delete graph object. @warning: use this only if you are dealing with interactive_graph_t instances that have not been used together with a graph_viewer_t. If you have called set_viewer_graph() with your graph, the graph's lifecycle will be managed by the viewer, and you shouldn't interfere with it @param g: (C : interactive_graph_t  )",
"func":1
},
{
"ref":"ida_graph.user_graph_place_t",
"url":16,
"doc":"Proxy of C user_graph_place_t class."
},
{
"ref":"ida_graph.user_graph_place_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.user_graph_place_t.node",
"url":16,
"doc":"node"
},
{
"ref":"ida_graph.create_user_graph_place",
"url":16,
"doc":"create_user_graph_place(node, lnnum) -> user_graph_place_t Get a copy of a user_graph_place_t (returns a pointer to static storage) @param node: (C : int) @param lnnum: (C : int)",
"func":1
},
{
"ref":"ida_graph.pyg_close",
"url":16,
"doc":"pyg_close(_self) @param self: PyObject  ",
"func":1
},
{
"ref":"ida_graph.pyg_select_node",
"url":16,
"doc":"pyg_select_node(_self, nid) @param self: PyObject  @param nid: int",
"func":1
},
{
"ref":"ida_graph.pyg_show",
"url":16,
"doc":"pyg_show(_self) -> bool @param self: PyObject  ",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t",
"url":16,
"doc":"Proxy of C drawable_graph_t class. __init__(self) -> drawable_graph_t @param self: PyObject  "
},
{
"ref":"ida_graph.drawable_graph_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.drawable_graph_t.title",
"url":16,
"doc":"graph title"
},
{
"ref":"ida_graph.drawable_graph_t.rect_edges_made",
"url":16,
"doc":"have create rectangular edges?"
},
{
"ref":"ida_graph.drawable_graph_t.current_layout",
"url":16,
"doc":"see Proximity view layouts"
},
{
"ref":"ida_graph.drawable_graph_t.circle_center",
"url":16,
"doc":"for layout_circle"
},
{
"ref":"ida_graph.drawable_graph_t.circle_radius",
"url":16,
"doc":"for layout_circle"
},
{
"ref":"ida_graph.drawable_graph_t.callback_ud",
"url":16,
"doc":"user data for callback"
},
{
"ref":"ida_graph.drawable_graph_t.create_tree_layout",
"url":16,
"doc":"create_tree_layout(self) -> bool",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.create_circle_layout",
"url":16,
"doc":"create_circle_layout(self, p, radius) -> bool @param p: point_t @param radius: int",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.set_callback",
"url":16,
"doc":"set_callback(self, _callback, _ud) @param _callback: hook_cb_t  @param _ud: void  ",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.grcall",
"url":16,
"doc":"grcall(self, code) -> ssize_t @param code: int",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.get_edge",
"url":16,
"doc":"get_edge(self, e) -> edge_info_t @param e: edge_t",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.nrect",
"url":16,
"doc":"nrect(self, n) -> rect_t @param n: int",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.get_node_label",
"url":15,
"doc":"get_node_label(self, n) -> char  @param n: int",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.print_graph_attributes",
"url":15,
"doc":"print_graph_attributes(self, fp) @param fp: FILE  ",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.print_node",
"url":15,
"doc":"print_node(self, fp, n) -> bool @param fp: FILE  @param n: int",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.print_edge",
"url":15,
"doc":"print_edge(self, fp, i, j) -> bool @param fp: FILE  @param i: int @param j: int",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.print_node_attributes",
"url":15,
"doc":"print_node_attributes(self, fp, n) @param fp: FILE  @param n: int",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.size",
"url":15,
"doc":"size(self) -> int",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.node_qty",
"url":15,
"doc":"node_qty(self) -> int",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.exists",
"url":15,
"doc":"exists(self, node) -> bool @param node: int",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.entry",
"url":15,
"doc":"entry(self) -> int",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.exit",
"url":15,
"doc":"exit(self) -> int",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.nsucc",
"url":15,
"doc":"nsucc(self, node) -> int @param node: int",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.npred",
"url":15,
"doc":"npred(self, node) -> int @param node: int",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.succ",
"url":15,
"doc":"succ(self, node, i) -> int @param node: int @param i: int",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.pred",
"url":15,
"doc":"pred(self, node, i) -> int @param node: int @param i: int",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.empty",
"url":15,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.get_node_color",
"url":15,
"doc":"get_node_color(self, n) -> bgcolor_t @param n: int",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.get_edge_color",
"url":15,
"doc":"get_edge_color(self, i, j) -> bgcolor_t @param i: int @param j: int",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.nedge",
"url":15,
"doc":"nedge(self, node, ispred) -> size_t @param node: int @param ispred: bool",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.edge",
"url":15,
"doc":"edge(self, node, i, ispred) -> int @param node: int @param i: int @param ispred: bool",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.front",
"url":15,
"doc":"front(self) -> int",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.begin",
"url":15,
"doc":"begin(self) -> node_iterator",
"func":1
},
{
"ref":"ida_graph.drawable_graph_t.end",
"url":15,
"doc":"end(self) -> node_iterator",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t",
"url":16,
"doc":"Proxy of C interactive_graph_t class. __init__(self) -> drawable_graph_t @param self: PyObject  "
},
{
"ref":"ida_graph.interactive_graph_t.thisown",
"url":16,
"doc":"The membership flag"
},
{
"ref":"ida_graph.interactive_graph_t.gid",
"url":16,
"doc":"graph id - unique for the database for flowcharts it is equal to the function start_ea"
},
{
"ref":"ida_graph.interactive_graph_t.belongs",
"url":16,
"doc":"the subgraph the node belongs to INT_MAX means that the node doesn't exist sign bit means collapsed node"
},
{
"ref":"ida_graph.interactive_graph_t.node_flags",
"url":16,
"doc":"node flags"
},
{
"ref":"ida_graph.interactive_graph_t.org_succs",
"url":16,
"doc":"org_succs"
},
{
"ref":"ida_graph.interactive_graph_t.org_preds",
"url":16,
"doc":"org_preds"
},
{
"ref":"ida_graph.interactive_graph_t.succs",
"url":16,
"doc":"succs"
},
{
"ref":"ida_graph.interactive_graph_t.preds",
"url":16,
"doc":"preds"
},
{
"ref":"ida_graph.interactive_graph_t.nodes",
"url":16,
"doc":"nodes"
},
{
"ref":"ida_graph.interactive_graph_t.edges",
"url":16,
"doc":"edges"
},
{
"ref":"ida_graph.interactive_graph_t.size",
"url":16,
"doc":"size(self) -> int Get the total number of nodes (including group nodes, and including hidden nodes.) See also node_qty() @return: the total number of nodes in the graph",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.node_qty",
"url":16,
"doc":"node_qty(self) -> int Get the number of visible nodes (the list can be retrieved using gdl.hpp's node_iterator) See also size() @return: the number of visible nodes",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.empty",
"url":16,
"doc":"empty(self) -> bool Is the graph (visually) empty? @return: true if there are no visible nodes",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.exists",
"url":16,
"doc":"exists(self, node) -> bool Is the node visible? @param node: (C : int) the node number @return: success",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.get_node_representative",
"url":16,
"doc":"get_node_representative(self, node) -> int Get the node that currently visually represents 'node'. This will find the \"closest\" parent group node that's visible, by attempting to walk up the group nodes that contain 'node', and will stop when it finds a node that is currently visible. See also get_group_node() @param node: (C : int) the node @return: the node that represents 'node', or 'node' if it's not part of any group",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.get_node_group",
"url":16,
"doc":"get_node_group(self, node) -> int @param node: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.set_node_group",
"url":16,
"doc":"set_node_group(self, node, group) @param node: int @param group: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.is_deleted_node",
"url":16,
"doc":"is_deleted_node(self, node) -> bool @param node: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.set_deleted_node",
"url":16,
"doc":"set_deleted_node(self, node) @param node: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.is_subgraph_node",
"url":16,
"doc":"is_subgraph_node(self, node) -> bool @param node: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.is_dot_node",
"url":16,
"doc":"is_dot_node(self, node) -> bool @param node: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.is_group_node",
"url":16,
"doc":"is_group_node(self, node) -> bool @param node: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.is_displayable_node",
"url":16,
"doc":"is_displayable_node(self, node) -> bool @param node: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.is_simple_node",
"url":16,
"doc":"is_simple_node(self, node) -> bool @param node: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.is_collapsed_node",
"url":16,
"doc":"is_collapsed_node(self, node) -> bool @param node: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.is_uncollapsed_node",
"url":16,
"doc":"is_uncollapsed_node(self, node) -> bool @param node: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.is_visible_node",
"url":16,
"doc":"is_visible_node(self, node) -> bool Is the node currently visible? An invisible node is a node that's part of a group that's currently collapsed. @param node: (C : int) the node @return: success",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.get_first_subgraph_node",
"url":16,
"doc":"get_first_subgraph_node(self, group) -> int @param group: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.get_next_subgraph_node",
"url":16,
"doc":"get_next_subgraph_node(self, group, current) -> int @param group: int @param current: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.create_group",
"url":16,
"doc":"create_group(self, nodes) -> int Create a new group node, that will contain all the nodes in 'nodes'. @param nodes: (C : const intvec_t &) the nodes that will be part of the group @return: the group node, or -1 in case of error",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.delete_group",
"url":16,
"doc":"delete_group(self, group) -> bool Delete a group node. This deletes the group node only; it does not delete nodes that are part of the group. @param group: (C : int) the group node @return: success",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.change_group_visibility",
"url":16,
"doc":"change_group_visibility(self, group, expand) -> bool Expand/collapse a group node @param group: (C : int) the group node @param expand: (C : bool) whether to expand or collapse @return: success",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.nsucc",
"url":16,
"doc":"nsucc(self, b) -> int @param b: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.npred",
"url":16,
"doc":"npred(self, b) -> int @param b: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.succ",
"url":16,
"doc":"succ(self, b, i) -> int @param b: int @param i: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.pred",
"url":16,
"doc":"pred(self, b, i) -> int @param b: int @param i: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.succset",
"url":16,
"doc":"succset(self, b) -> intvec_t const & @param b: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.predset",
"url":16,
"doc":"predset(self, b) -> intvec_t const & @param b: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.reset",
"url":16,
"doc":"reset(self)",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.redo_layout",
"url":16,
"doc":"redo_layout(self) -> bool Recompute the layout, according to the value of 'current_layout'. @return: success",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.resize",
"url":16,
"doc":"resize(self, n) Resize the graph to 'n' nodes @param n: (C : int) the new size",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.add_node",
"url":16,
"doc":"add_node(self, r) -> int Add a node, possibly with a specific geometry @param r: (C : const rect_t  ) the node geometry (can be nullptr) @return: the new node",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.del_node",
"url":16,
"doc":"del_node(self, n) -> ssize_t Delete a node @param n: (C : int) the node to delete @return: the number of deleted edges",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.add_edge",
"url":16,
"doc":"add_edge(self, i, j, ei) -> bool @param i: int @param j: int @param ei: edge_info_t const  ",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.del_edge",
"url":16,
"doc":"del_edge(self, i, j) -> bool @param i: int @param j: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.replace_edge",
"url":16,
"doc":"replace_edge(self, i, j, x, y) -> bool @param i: int @param j: int @param x: int @param y: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.refresh",
"url":16,
"doc":"refresh(self) -> bool Refresh the graph A graph needs refreshing when it's \"backing data\". E.g., if the number (or contents) of the objects in the above example, change. Let's say the user's plugin ends up finding a 5th piece of scattered data. It should then add it to its internal list of known objects, and tell IDA that the graph needs to be refreshed, using refresh_viewer(). This will cause IDA to:  discard all its internal rendering information,  call interactive_graph_t refresh() on the graph so that the user's plugin has a chance to \"sync\" the number of nodes & edges that this graph contains, to the information that the plugin has collected so far  re-create internal rendering information, and  repaint the view @return: success",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.set_nrect",
"url":16,
"doc":"set_nrect(self, n, r) -> bool @param n: int @param r: rect_t const &",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.set_edge",
"url":16,
"doc":"set_edge(self, e, ei) -> bool @param e: edge_t @param ei: edge_info_t const  ",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.create_digraph_layout",
"url":16,
"doc":"create_digraph_layout(self) -> bool",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.del_custom_layout",
"url":16,
"doc":"del_custom_layout(self)",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.get_custom_layout",
"url":16,
"doc":"get_custom_layout(self) -> bool",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.set_custom_layout",
"url":16,
"doc":"set_custom_layout(self)",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.get_graph_groups",
"url":16,
"doc":"get_graph_groups(self) -> bool",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.set_graph_groups",
"url":16,
"doc":"set_graph_groups(self)",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.calc_group_ea",
"url":16,
"doc":"calc_group_ea(self, arg2) -> ea_t @param arg2: intvec_t const &",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.is_user_graph",
"url":16,
"doc":"is_user_graph(self) -> bool",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.title",
"url":16,
"doc":"graph title"
},
{
"ref":"ida_graph.interactive_graph_t.rect_edges_made",
"url":16,
"doc":"have create rectangular edges?"
},
{
"ref":"ida_graph.interactive_graph_t.current_layout",
"url":16,
"doc":"see Proximity view layouts"
},
{
"ref":"ida_graph.interactive_graph_t.circle_center",
"url":16,
"doc":"for layout_circle"
},
{
"ref":"ida_graph.interactive_graph_t.circle_radius",
"url":16,
"doc":"for layout_circle"
},
{
"ref":"ida_graph.interactive_graph_t.callback_ud",
"url":16,
"doc":"user data for callback"
},
{
"ref":"ida_graph.interactive_graph_t.create_tree_layout",
"url":16,
"doc":"create_tree_layout(self) -> bool",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.create_circle_layout",
"url":16,
"doc":"create_circle_layout(self, p, radius) -> bool @param p: point_t @param radius: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.set_callback",
"url":16,
"doc":"set_callback(self, _callback, _ud) @param _callback: hook_cb_t  @param _ud: void  ",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.grcall",
"url":16,
"doc":"grcall(self, code) -> ssize_t @param code: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.get_edge",
"url":16,
"doc":"get_edge(self, e) -> edge_info_t @param e: edge_t",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.nrect",
"url":16,
"doc":"nrect(self, n) -> rect_t @param n: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.get_node_label",
"url":15,
"doc":"get_node_label(self, n) -> char  @param n: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.print_graph_attributes",
"url":15,
"doc":"print_graph_attributes(self, fp) @param fp: FILE  ",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.print_node",
"url":15,
"doc":"print_node(self, fp, n) -> bool @param fp: FILE  @param n: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.print_edge",
"url":15,
"doc":"print_edge(self, fp, i, j) -> bool @param fp: FILE  @param i: int @param j: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.print_node_attributes",
"url":15,
"doc":"print_node_attributes(self, fp, n) @param fp: FILE  @param n: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.entry",
"url":15,
"doc":"entry(self) -> int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.exit",
"url":15,
"doc":"exit(self) -> int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.get_node_color",
"url":15,
"doc":"get_node_color(self, n) -> bgcolor_t @param n: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.get_edge_color",
"url":15,
"doc":"get_edge_color(self, i, j) -> bgcolor_t @param i: int @param j: int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.nedge",
"url":15,
"doc":"nedge(self, node, ispred) -> size_t @param node: int @param ispred: bool",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.edge",
"url":15,
"doc":"edge(self, node, i, ispred) -> int @param node: int @param i: int @param ispred: bool",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.front",
"url":15,
"doc":"front(self) -> int",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.begin",
"url":15,
"doc":"begin(self) -> node_iterator",
"func":1
},
{
"ref":"ida_graph.interactive_graph_t.end",
"url":15,
"doc":"end(self) -> node_iterator",
"func":1
},
{
"ref":"ida_graph.create_mutable_graph",
"url":16,
"doc":"create_interactive_graph(id) -> interactive_graph_t Create a new empty graph with given id. @param id: (C : uval_t)",
"func":1
},
{
"ref":"ida_graph.delete_mutable_graph",
"url":16,
"doc":"delete_interactive_graph(g) Delete graph object. @warning: use this only if you are dealing with interactive_graph_t instances that have not been used together with a graph_viewer_t. If you have called set_viewer_graph() with your graph, the graph's lifecycle will be managed by the viewer, and you shouldn't interfere with it @param g: (C : interactive_graph_t  )",
"func":1
},
{
"ref":"ida_graph.GraphViewer",
"url":16,
"doc":"Proxy of C View_Hooks class. Constructs the GraphView object. Please do not remove or rename the private fields @param title: The title of the graph window @param close_open: Should it attempt to close an existing graph (with same title) before creating this graph?"
},
{
"ref":"ida_graph.GraphViewer.UI_Hooks_Trampoline",
"url":16,
"doc":"Proxy of C UI_Hooks class."
},
{
"ref":"ida_graph.GraphViewer.AddNode",
"url":16,
"doc":"Creates a node associated with the given object and returns the node id",
"func":1
},
{
"ref":"ida_graph.GraphViewer.AddEdge",
"url":16,
"doc":"Creates an edge between two given node ids",
"func":1
},
{
"ref":"ida_graph.GraphViewer.Clear",
"url":16,
"doc":"Clears all the nodes and edges",
"func":1
},
{
"ref":"ida_graph.GraphViewer.Count",
"url":16,
"doc":"Returns the node count",
"func":1
},
{
"ref":"ida_graph.GraphViewer.Close",
"url":16,
"doc":"Closes the graph. It is possible to call Show() again (which will recreate the graph)",
"func":1
},
{
"ref":"ida_graph.GraphViewer.Show",
"url":16,
"doc":"Shows an existing graph or creates a new one @return: Boolean",
"func":1
},
{
"ref":"ida_graph.GraphViewer.Select",
"url":16,
"doc":"Selects a node on the graph",
"func":1
},
{
"ref":"ida_graph.GraphViewer.OnRefresh",
"url":16,
"doc":"Event called when the graph is refreshed or first created. From this event you are supposed to create nodes and edges. This callback is mandatory. @note:  It is important to clear previous nodes before adding nodes. @return: Returning True tells the graph viewer to use the items. Otherwise old items will be used.",
"func":1
},
{
"ref":"ida_graph.GraphViewer.AddCommand",
"url":16,
"doc":"",
"func":1
},
{
"ref":"ida_graph.GraphViewer.OnPopup",
"url":16,
"doc":"",
"func":1
},
{
"ref":"ida_graph.GraphViewer.OnCommand",
"url":16,
"doc":"",
"func":1
},
{
"ref":"ida_graph.GraphViewer.view_activated",
"url":17,
"doc":"view_activated(self, view) A view is activated @param view: (TWidget  )",
"func":1
},
{
"ref":"ida_graph.GraphViewer.view_deactivated",
"url":17,
"doc":"view_deactivated(self, view) A view is deactivated @param view: (TWidget  )",
"func":1
},
{
"ref":"ida_graph.GraphViewer.view_keydown",
"url":17,
"doc":"view_keydown(self, view, key, state) Key down event @param view: (TWidget  ) @param key: (int) @param state: ( view_event_state_t)",
"func":1
},
{
"ref":"ida_graph.GraphViewer.view_click",
"url":17,
"doc":"view_click(self, view, event) Click event @param view: (TWidget  ) @param event: (const view_mouse_event_t  )",
"func":1
},
{
"ref":"ida_graph.GraphViewer.view_dblclick",
"url":17,
"doc":"view_dblclick(self, view, event) Double click event @param view: (TWidget  ) @param event: (const view_mouse_event_t  )",
"func":1
},
{
"ref":"ida_graph.GraphViewer.view_curpos",
"url":17,
"doc":"view_curpos(self, view) Cursor position changed @param view: (TWidget  )",
"func":1
},
{
"ref":"ida_graph.GraphViewer.view_close",
"url":17,
"doc":"view_close(self, view) View closed @param view: (TWidget  )",
"func":1
},
{
"ref":"ida_graph.GraphViewer.view_switched",
"url":17,
"doc":"view_switched(self, view, rt) A view's renderer has changed. @param view: (TWidget  ) @param rt: (tcc_renderer_type_t)",
"func":1
},
{
"ref":"ida_graph.GraphViewer.view_mouse_over",
"url":17,
"doc":"view_mouse_over(self, view, event) The user moved the mouse over (or out of) a node or an edge. This is only relevant in a graph view. @param view: (TWidget  ) @param event: (const view_mouse_event_t  )",
"func":1
},
{
"ref":"ida_graph.GraphViewer.view_loc_changed",
"url":17,
"doc":"view_loc_changed(self, view, now, was) The location for the view has changed (can be either the place_t, the renderer_info_t, or both.) @param view: (TWidget  ) @param now: (const lochist_entry_t  ) @param was: (const lochist_entry_t  )",
"func":1
},
{
"ref":"ida_graph.GraphViewer.view_mouse_moved",
"url":17,
"doc":"view_mouse_moved(self, view, event) The mouse moved on the view @param view: (TWidget  ) @param event: (const view_mouse_event_t  )",
"func":1
},
{
"ref":"ida_graph.GraphViewer.Refresh",
"url":17,
"doc":"Refreshes the view. This causes the OnRefresh() to be called",
"func":1
},
{
"ref":"ida_graph.GraphViewer.SetCurrentRendererType",
"url":17,
"doc":"Set the current view's renderer. @param rtype: The renderer type. Should be one of the idaapi.TCCRT_ values.",
"func":1
},
{
"ref":"ida_graph.GraphViewer.SetNodeInfo",
"url":17,
"doc":"Set the properties for the given node. Example usage (set second nodes's bg color to red): inst =  . p = idaapi.node_info_t() p.bg_color = 0x00ff0000 inst.SetNodeInfo(1, p, idaapi.NIF_BG_COLOR) @param node_index: The node index. @param node_info: An idaapi.node_info_t instance. @param flags: An OR'ed value of NIF_ values.",
"func":1
},
{
"ref":"ida_graph.GraphViewer.SetNodesInfos",
"url":17,
"doc":"Set the properties for the given nodes. Example usage (set first three nodes's bg color to purple): inst =  . p = idaapi.node_info_t() p.bg_color = 0x00ff00ff inst.SetNodesInfos({0 : p, 1 : p, 2 : p}) @param values: A dictionary of 'int -> node_info_t' objects.",
"func":1
},
{
"ref":"ida_graph.GraphViewer.GetNodeInfo",
"url":17,
"doc":"Get the properties for the given node. @param ni: A node_info_t instance @param node: The index of the node. @return: success",
"func":1
},
{
"ref":"ida_graph.GraphViewer.DelNodesInfos",
"url":17,
"doc":"Delete the properties for the given node(s). @param nodes: A list of node IDs",
"func":1
},
{
"ref":"ida_graph.GraphViewer.CreateGroups",
"url":17,
"doc":"Send a request to modify the graph by creating a (set of) group(s), and perform an animation. Each object in the 'groups_infos' list must be of the format: { \"nodes\" : [ ,  ,  ,  .]  The list of nodes to group \"text\" :   The synthetic text for that group } @param groups_infos: A list of objects that describe those groups. @return: A [ ,  ,  .] list of group nodes, or None (failure).",
"func":1
},
{
"ref":"ida_graph.GraphViewer.DeleteGroups",
"url":17,
"doc":"Send a request to delete the specified groups in the graph, and perform an animation. @param groups: A list of group node numbers. @param new_current: A node to focus on after the groups have been deleted @return: True on success, False otherwise.",
"func":1
},
{
"ref":"ida_graph.GraphViewer.SetGroupsVisibility",
"url":17,
"doc":"Send a request to expand/collapse the specified groups in the graph, and perform an animation. @param groups: A list of group node numbers. @param expand: True to expand the group, False otherwise. @param new_current: A node to focus on after the groups have been expanded/collapsed. @return: True on success, False otherwise.",
"func":1
},
{
"ref":"ida_graph.GraphViewer.GetWidget",
"url":17,
"doc":"Return the TWidget underlying this view. @return: The TWidget underlying this view, or None.",
"func":1
},
{
"ref":"ida_graph.GraphViewer.GetWidgetAsGraphViewer",
"url":17,
"doc":"Return the graph_viewer_t underlying this view. @return: The graph_viewer_t underlying this view, or None.",
"func":1
},
{
"ref":"ida_graph.GraphViewer.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_graph.GraphViewer.hook",
"url":17,
"doc":"hook(self) -> bool",
"func":1
},
{
"ref":"ida_graph.GraphViewer.unhook",
"url":17,
"doc":"unhook(self) -> bool",
"func":1
},
{
"ref":"ida_graph.GraphViewer.view_created",
"url":17,
"doc":"view_created(self, view) A view is being created. @param view: (TWidget  )",
"func":1
},
{
"ref":"ida_ida",
"url":18,
"doc":"Contains the  inf structure definition and some functions common to the whole IDA project. The  inf structure is saved in the database and contains information specific to the current program being disassembled. Initially it is filled with values from ida.cfg. Although it is not a good idea to change values in  inf structure (because you will overwrite values taken from ida.cfg), you are allowed to do it if you feel it necessary."
},
{
"ref":"ida_ida.AF_FINAL",
"url":18,
"doc":"Final pass of analysis."
},
{
"ref":"ida_ida.f_EXE_old",
"url":18,
"doc":"MS DOS EXE File."
},
{
"ref":"ida_ida.f_COM_old",
"url":18,
"doc":"MS DOS COM File."
},
{
"ref":"ida_ida.f_BIN",
"url":18,
"doc":"Binary File."
},
{
"ref":"ida_ida.f_DRV",
"url":18,
"doc":"MS DOS Driver."
},
{
"ref":"ida_ida.f_WIN",
"url":18,
"doc":"New Executable (NE)"
},
{
"ref":"ida_ida.f_HEX",
"url":18,
"doc":"Intel Hex Object File."
},
{
"ref":"ida_ida.f_MEX",
"url":18,
"doc":"MOS Technology Hex Object File."
},
{
"ref":"ida_ida.f_LX",
"url":18,
"doc":"Linear Executable (LX)"
},
{
"ref":"ida_ida.f_LE",
"url":18,
"doc":"Linear Executable (LE)"
},
{
"ref":"ida_ida.f_NLM",
"url":18,
"doc":"Netware Loadable Module (NLM)"
},
{
"ref":"ida_ida.f_COFF",
"url":18,
"doc":"Common Object File Format (COFF)"
},
{
"ref":"ida_ida.f_PE",
"url":18,
"doc":"Portable Executable (PE)"
},
{
"ref":"ida_ida.f_OMF",
"url":18,
"doc":"Object Module Format."
},
{
"ref":"ida_ida.f_SREC",
"url":18,
"doc":"Motorola SREC (S-record)"
},
{
"ref":"ida_ida.f_ZIP",
"url":18,
"doc":"ZIP file (this file is never loaded to IDA database)"
},
{
"ref":"ida_ida.f_OMFLIB",
"url":18,
"doc":"Library of OMF Modules."
},
{
"ref":"ida_ida.f_AR",
"url":18,
"doc":"ar library"
},
{
"ref":"ida_ida.f_LOADER",
"url":18,
"doc":"file is loaded using LOADER DLL"
},
{
"ref":"ida_ida.f_ELF",
"url":18,
"doc":"Executable and Linkable Format (ELF)"
},
{
"ref":"ida_ida.f_W32RUN",
"url":18,
"doc":"Watcom DOS32 Extender (W32RUN)"
},
{
"ref":"ida_ida.f_AOUT",
"url":18,
"doc":"Linux a.out (AOUT)"
},
{
"ref":"ida_ida.f_PRC",
"url":18,
"doc":"PalmPilot program file."
},
{
"ref":"ida_ida.f_EXE",
"url":18,
"doc":"MS DOS EXE File."
},
{
"ref":"ida_ida.f_COM",
"url":18,
"doc":"MS DOS COM File."
},
{
"ref":"ida_ida.f_AIXAR",
"url":18,
"doc":"AIX ar library."
},
{
"ref":"ida_ida.f_MACHO",
"url":18,
"doc":"Mac OS X Mach-O."
},
{
"ref":"ida_ida.f_PSXOBJ",
"url":18,
"doc":"Sony Playstation PSX object file."
},
{
"ref":"ida_ida.f_MD1IMG",
"url":18,
"doc":"Mediatek Firmware Image."
},
{
"ref":"ida_ida.is_filetype_like_binary",
"url":18,
"doc":"is_filetype_like_binary(ft) -> bool Is unstructured input file? @param ft: (C : filetype_t) enum filetype_t",
"func":1
},
{
"ref":"ida_ida.compiler_info_t",
"url":18,
"doc":"Proxy of C compiler_info_t class. __init__(self) -> compiler_info_t"
},
{
"ref":"ida_ida.compiler_info_t.thisown",
"url":18,
"doc":"The membership flag"
},
{
"ref":"ida_ida.compiler_info_t.id",
"url":18,
"doc":"compiler id (see Compiler IDs)"
},
{
"ref":"ida_ida.compiler_info_t.cm",
"url":18,
"doc":"memory model and calling convention (see CM)"
},
{
"ref":"ida_ida.compiler_info_t.size_i",
"url":18,
"doc":"sizeof(int)"
},
{
"ref":"ida_ida.compiler_info_t.size_b",
"url":18,
"doc":"sizeof(bool)"
},
{
"ref":"ida_ida.compiler_info_t.size_e",
"url":18,
"doc":"sizeof(enum)"
},
{
"ref":"ida_ida.compiler_info_t.defalign",
"url":18,
"doc":"default alignment for structures"
},
{
"ref":"ida_ida.compiler_info_t.size_s",
"url":18,
"doc":"short"
},
{
"ref":"ida_ida.compiler_info_t.size_l",
"url":18,
"doc":"long"
},
{
"ref":"ida_ida.compiler_info_t.size_ll",
"url":18,
"doc":"longlong"
},
{
"ref":"ida_ida.compiler_info_t.size_ldbl",
"url":18,
"doc":"longdouble (if different from processor_t tbyte_size)"
},
{
"ref":"ida_ida.STT_CUR",
"url":18,
"doc":"use current storage type (may be used only as a function argument)"
},
{
"ref":"ida_ida.STT_VA",
"url":18,
"doc":"regular storage: virtual arrays, an explicit flag for each byte"
},
{
"ref":"ida_ida.STT_MM",
"url":18,
"doc":"memory map: sparse storage. useful for huge objects"
},
{
"ref":"ida_ida.STT_DBG",
"url":18,
"doc":"memory map: temporary debugger storage. used internally"
},
{
"ref":"ida_ida.IDAINFO_TAG_SIZE",
"url":18,
"doc":"The database parameters. This structure is kept in the ida database. It contains the essential parameters for the current program"
},
{
"ref":"ida_ida.idainfo",
"url":18,
"doc":"Proxy of C idainfo class."
},
{
"ref":"ida_ida.idainfo.thisown",
"url":18,
"doc":"The membership flag"
},
{
"ref":"ida_ida.idainfo.tag",
"url":18,
"doc":"'IDA'"
},
{
"ref":"ida_ida.idainfo.version",
"url":18,
"doc":"Version of database."
},
{
"ref":"ida_ida.idainfo.procname",
"url":18,
"doc":"Name of the current processor (with \\0)"
},
{
"ref":"ida_ida.idainfo.s_genflags",
"url":18,
"doc":"General idainfo flags"
},
{
"ref":"ida_ida.idainfo.database_change_count",
"url":18,
"doc":"incremented after each byte and regular segment modifications"
},
{
"ref":"ida_ida.idainfo.filetype",
"url":18,
"doc":"The input file type."
},
{
"ref":"ida_ida.idainfo.ostype",
"url":18,
"doc":"OS type the program is for bit definitions in libfuncs.hpp"
},
{
"ref":"ida_ida.idainfo.apptype",
"url":18,
"doc":"Application type bit definitions in libfuncs.hpp"
},
{
"ref":"ida_ida.idainfo.asmtype",
"url":18,
"doc":"target assembler number"
},
{
"ref":"ida_ida.idainfo.specsegs",
"url":18,
"doc":"What format do special segments use? 0-unspecified, 4-entries are 4 bytes, 8- entries are 8 bytes."
},
{
"ref":"ida_ida.idainfo.af",
"url":18,
"doc":"Analysis flags"
},
{
"ref":"ida_ida.idainfo.af2",
"url":18,
"doc":"Analysis flags 2"
},
{
"ref":"ida_ida.idainfo.baseaddr",
"url":18,
"doc":"remaining 28 bits are reserved base address of the program (paragraphs)"
},
{
"ref":"ida_ida.idainfo.start_ss",
"url":18,
"doc":"selector of the initial stack segment"
},
{
"ref":"ida_ida.idainfo.start_cs",
"url":18,
"doc":"selector of the segment with the main entry point"
},
{
"ref":"ida_ida.idainfo.start_ip",
"url":18,
"doc":"IP register value at the start of program execution"
},
{
"ref":"ida_ida.idainfo.start_ea",
"url":18,
"doc":"Linear address of program entry point."
},
{
"ref":"ida_ida.idainfo.start_sp",
"url":18,
"doc":"SP register value at the start of program execution"
},
{
"ref":"ida_ida.idainfo.main",
"url":18,
"doc":"address of main()"
},
{
"ref":"ida_ida.idainfo.min_ea",
"url":18,
"doc":"current limits of program"
},
{
"ref":"ida_ida.idainfo.max_ea",
"url":18,
"doc":"maxEA is excluded"
},
{
"ref":"ida_ida.idainfo.omin_ea",
"url":18,
"doc":"original minEA (is set after loading the input file)"
},
{
"ref":"ida_ida.idainfo.omax_ea",
"url":18,
"doc":"original maxEA (is set after loading the input file)"
},
{
"ref":"ida_ida.idainfo.lowoff",
"url":18,
"doc":"Low limit for offsets (used in calculation of 'void' operands)"
},
{
"ref":"ida_ida.idainfo.highoff",
"url":18,
"doc":"High limit for offsets (used in calculation of 'void' operands)"
},
{
"ref":"ida_ida.idainfo.maxref",
"url":18,
"doc":"Max tail for references."
},
{
"ref":"ida_ida.idainfo.xrefnum",
"url":18,
"doc":"CROSS REFERENCES. Number of references to generate in the disassembly listing 0 - xrefs won't be generated at all"
},
{
"ref":"ida_ida.idainfo.type_xrefnum",
"url":18,
"doc":"Number of references to generate in the struct & enum windows 0 - xrefs won't be generated at all"
},
{
"ref":"ida_ida.idainfo.refcmtnum",
"url":18,
"doc":"Number of comment lines to generate for refs to string literals or demangled names 0 - such comments won't be generated at all"
},
{
"ref":"ida_ida.idainfo.s_xrefflag",
"url":18,
"doc":"Xref options"
},
{
"ref":"ida_ida.idainfo.max_autoname_len",
"url":18,
"doc":"NAMES. max autogenerated name length (without zero byte)"
},
{
"ref":"ida_ida.idainfo.nametype",
"url":18,
"doc":"Dummy names representation types"
},
{
"ref":"ida_ida.idainfo.short_demnames",
"url":18,
"doc":"short form of demangled names"
},
{
"ref":"ida_ida.idainfo.long_demnames",
"url":18,
"doc":"long form of demangled names see demangle.h for definitions"
},
{
"ref":"ida_ida.idainfo.demnames",
"url":18,
"doc":"Demangled name flags"
},
{
"ref":"ida_ida.idainfo.listnames",
"url":18,
"doc":"Name list options"
},
{
"ref":"ida_ida.idainfo.indent",
"url":18,
"doc":"DISASSEMBLY LISTING DETAILS. Indentation for instructions"
},
{
"ref":"ida_ida.idainfo.cmt_indent",
"url":18,
"doc":"Indentation for comments."
},
{
"ref":"ida_ida.idainfo.margin",
"url":18,
"doc":"max length of data lines"
},
{
"ref":"ida_ida.idainfo.lenxref",
"url":18,
"doc":"max length of line with xrefs"
},
{
"ref":"ida_ida.idainfo.outflags",
"url":18,
"doc":"output flags"
},
{
"ref":"ida_ida.idainfo.s_cmtflg",
"url":18,
"doc":"Comment options"
},
{
"ref":"ida_ida.idainfo.s_limiter",
"url":18,
"doc":"Delimiter options"
},
{
"ref":"ida_ida.idainfo.bin_prefix_size",
"url":18,
"doc":"Number of instruction bytes (opcodes) to show in line prefix."
},
{
"ref":"ida_ida.idainfo.s_prefflag",
"url":18,
"doc":"Line prefix options"
},
{
"ref":"ida_ida.idainfo.strlit_flags",
"url":18,
"doc":"STRING LITERALS. string literal flags"
},
{
"ref":"ida_ida.idainfo.strlit_break",
"url":18,
"doc":"string literal line break symbol"
},
{
"ref":"ida_ida.idainfo.strlit_zeroes",
"url":18,
"doc":"leading zeroes"
},
{
"ref":"ida_ida.idainfo.strtype",
"url":18,
"doc":"current ascii string type see nalt.hpp for string types"
},
{
"ref":"ida_ida.idainfo.strlit_pref",
"url":18,
"doc":"prefix for string literal names"
},
{
"ref":"ida_ida.idainfo.strlit_sernum",
"url":18,
"doc":"serial number"
},
{
"ref":"ida_ida.idainfo.datatypes",
"url":18,
"doc":"data types allowed in data carousel"
},
{
"ref":"ida_ida.idainfo.cc",
"url":18,
"doc":"COMPILER. Target compiler"
},
{
"ref":"ida_ida.idainfo.abibits",
"url":18,
"doc":"ABI features. Depends on info returned by get_abi_name() Processor modules may modify them in set_compiler"
},
{
"ref":"ida_ida.idainfo.appcall_options",
"url":18,
"doc":"appcall options, see idd.hpp"
},
{
"ref":"ida_ida.idainfo.get_abiname",
"url":18,
"doc":"get_abiname(self) -> qstring",
"func":1
},
{
"ref":"ida_ida.idainfo.abiname",
"url":18,
"doc":"get_abiname(self) -> qstring"
},
{
"ref":"ida_ida.idainfo.lflags",
"url":18,
"doc":"Misc. database flags"
},
{
"ref":"ida_ida.idainfo.minEA",
"url":18,
"doc":""
},
{
"ref":"ida_ida.idainfo.maxEA",
"url":18,
"doc":""
},
{
"ref":"ida_ida.idainfo.procName",
"url":18,
"doc":""
},
{
"ref":"ida_ida.idainfo.big_arg_align",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.gen_null",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.set_gen_null",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.gen_lzero",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.set_gen_lzero",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.gen_tryblks",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.set_gen_tryblks",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.get_demname_form",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.get_pack_mode",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.set_pack_mode",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.is_32bit",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.is_64bit",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.set_64bit",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.is_auto_enabled",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.set_auto_enabled",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.is_be",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.set_be",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.is_dll",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.is_flat_off32",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.is_graph_view",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.set_graph_view",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.is_hard_float",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.is_kernel_mode",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.is_mem_aligned4",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.is_snapshot",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.is_wide_high_byte_first",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.set_wide_high_byte_first",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.like_binary",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.line_pref_with_seg",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.set_line_pref_with_seg",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.show_auto",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.set_show_auto",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.show_line_pref",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.set_show_line_pref",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.show_void",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.set_show_void",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.loading_idc",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.map_stkargs",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.pack_stkargs",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.readonly_idb",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.stack_ldbl",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.stack_varargs",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.use_allasm",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo.use_gcc_layout",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.INFFL_AUTO",
"url":18,
"doc":"Autoanalysis is enabled?"
},
{
"ref":"ida_ida.INFFL_ALLASM",
"url":18,
"doc":"may use constructs not supported by the target assembler"
},
{
"ref":"ida_ida.INFFL_LOADIDC",
"url":18,
"doc":"loading an idc file that contains database info"
},
{
"ref":"ida_ida.INFFL_NOUSER",
"url":18,
"doc":"do not store user info in the database"
},
{
"ref":"ida_ida.INFFL_READONLY",
"url":18,
"doc":"(internal) temporary interdiction to modify the database"
},
{
"ref":"ida_ida.INFFL_CHKOPS",
"url":18,
"doc":"check manual operands? (unused)"
},
{
"ref":"ida_ida.INFFL_NMOPS",
"url":18,
"doc":"allow non-matched operands? (unused)"
},
{
"ref":"ida_ida.INFFL_GRAPH_VIEW",
"url":18,
"doc":"currently using graph options ( text_options_t graph)"
},
{
"ref":"ida_ida.LFLG_PC_FPP",
"url":18,
"doc":"decode floating point processor instructions?"
},
{
"ref":"ida_ida.LFLG_PC_FLAT",
"url":18,
"doc":"32-bit program (or higher)?"
},
{
"ref":"ida_ida.LFLG_64BIT",
"url":18,
"doc":"64-bit program?"
},
{
"ref":"ida_ida.LFLG_IS_DLL",
"url":18,
"doc":"Is dynamic library?"
},
{
"ref":"ida_ida.LFLG_FLAT_OFF32",
"url":18,
"doc":"treat REF_OFF32 as 32-bit offset for 16bit segments (otherwise try SEG16:OFF16)"
},
{
"ref":"ida_ida.LFLG_MSF",
"url":18,
"doc":"Byte order: is MSB first?"
},
{
"ref":"ida_ida.LFLG_WIDE_HBF",
"url":18,
"doc":"Bit order of wide bytes: high byte first? (wide bytes: processor_t dnbits > 8)"
},
{
"ref":"ida_ida.LFLG_DBG_NOPATH",
"url":18,
"doc":"do not store input full path in debugger process options"
},
{
"ref":"ida_ida.LFLG_SNAPSHOT",
"url":18,
"doc":"memory snapshot was taken?"
},
{
"ref":"ida_ida.LFLG_PACK",
"url":18,
"doc":"pack the database?"
},
{
"ref":"ida_ida.LFLG_COMPRESS",
"url":18,
"doc":"compress the database?"
},
{
"ref":"ida_ida.LFLG_KERNMODE",
"url":18,
"doc":"is kernel mode binary?"
},
{
"ref":"ida_ida.IDB_UNPACKED",
"url":18,
"doc":"leave database components unpacked"
},
{
"ref":"ida_ida.IDB_PACKED",
"url":18,
"doc":"pack database components into .idb"
},
{
"ref":"ida_ida.IDB_COMPRESSED",
"url":18,
"doc":"compress & pack database components"
},
{
"ref":"ida_ida.AF_CODE",
"url":18,
"doc":"Trace execution flow."
},
{
"ref":"ida_ida.AF_MARKCODE",
"url":18,
"doc":"Mark typical code sequences as code."
},
{
"ref":"ida_ida.AF_JUMPTBL",
"url":18,
"doc":"Locate and create jump tables."
},
{
"ref":"ida_ida.AF_PURDAT",
"url":18,
"doc":"Control flow to data segment is ignored."
},
{
"ref":"ida_ida.AF_USED",
"url":18,
"doc":"Analyze and create all xrefs."
},
{
"ref":"ida_ida.AF_UNK",
"url":18,
"doc":"Delete instructions with no xrefs."
},
{
"ref":"ida_ida.AF_PROCPTR",
"url":18,
"doc":"Create function if data xref data->code32 exists."
},
{
"ref":"ida_ida.AF_PROC",
"url":18,
"doc":"Create functions if call is present."
},
{
"ref":"ida_ida.AF_FTAIL",
"url":18,
"doc":"Create function tails."
},
{
"ref":"ida_ida.AF_LVAR",
"url":18,
"doc":"Create stack variables."
},
{
"ref":"ida_ida.AF_STKARG",
"url":18,
"doc":"Propagate stack argument information."
},
{
"ref":"ida_ida.AF_REGARG",
"url":18,
"doc":"Propagate register argument information."
},
{
"ref":"ida_ida.AF_TRACE",
"url":18,
"doc":"Trace stack pointer."
},
{
"ref":"ida_ida.AF_VERSP",
"url":18,
"doc":"Perform full SP-analysis. ( processor_t verify_sp)"
},
{
"ref":"ida_ida.AF_ANORET",
"url":18,
"doc":"Perform 'no-return' analysis."
},
{
"ref":"ida_ida.AF_MEMFUNC",
"url":18,
"doc":"Try to guess member function types."
},
{
"ref":"ida_ida.AF_TRFUNC",
"url":18,
"doc":"Truncate functions upon code deletion."
},
{
"ref":"ida_ida.AF_STRLIT",
"url":18,
"doc":"Create string literal if data xref exists."
},
{
"ref":"ida_ida.AF_CHKUNI",
"url":18,
"doc":"Check for unicode strings."
},
{
"ref":"ida_ida.AF_FIXUP",
"url":18,
"doc":"Create offsets and segments using fixup info."
},
{
"ref":"ida_ida.AF_DREFOFF",
"url":18,
"doc":"Create offset if data xref to seg32 exists."
},
{
"ref":"ida_ida.AF_IMMOFF",
"url":18,
"doc":"Convert 32bit instruction operand to offset."
},
{
"ref":"ida_ida.AF_DATOFF",
"url":18,
"doc":"Automatically convert data to offsets."
},
{
"ref":"ida_ida.AF_FLIRT",
"url":18,
"doc":"Use flirt signatures."
},
{
"ref":"ida_ida.AF_SIGCMT",
"url":18,
"doc":"Append a signature name comment for recognized anonymous library functions."
},
{
"ref":"ida_ida.AF_SIGMLT",
"url":18,
"doc":"Allow recognition of several copies of the same function."
},
{
"ref":"ida_ida.AF_HFLIRT",
"url":18,
"doc":"Automatically hide library functions."
},
{
"ref":"ida_ida.AF_JFUNC",
"url":18,
"doc":"Rename jump functions as j_ ."
},
{
"ref":"ida_ida.AF_NULLSUB",
"url":18,
"doc":"Rename empty functions as nullsub_ ."
},
{
"ref":"ida_ida.AF_DODATA",
"url":18,
"doc":"Coagulate data segs at the final pass."
},
{
"ref":"ida_ida.AF_DOCODE",
"url":18,
"doc":"Coagulate code segs at the final pass."
},
{
"ref":"ida_ida.AF2_DOEH",
"url":18,
"doc":"Handle EH information."
},
{
"ref":"ida_ida.AF2_DORTTI",
"url":18,
"doc":"Handle RTTI information."
},
{
"ref":"ida_ida.AF2_MACRO",
"url":18,
"doc":"Try to combine several instructions into a macro instruction"
},
{
"ref":"ida_ida.AF2_MERGESTR",
"url":18,
"doc":"Merge string literals created using data xrefs"
},
{
"ref":"ida_ida.SW_SEGXRF",
"url":18,
"doc":"show segments in xrefs?"
},
{
"ref":"ida_ida.SW_XRFMRK",
"url":18,
"doc":"show xref type marks?"
},
{
"ref":"ida_ida.SW_XRFFNC",
"url":18,
"doc":"show function offsets?"
},
{
"ref":"ida_ida.SW_XRFVAL",
"url":18,
"doc":"show xref values? (otherwise-\" .\")"
},
{
"ref":"ida_ida.DEMNAM_MASK",
"url":18,
"doc":"mask for name form"
},
{
"ref":"ida_ida.DEMNAM_CMNT",
"url":18,
"doc":"display demangled names as comments"
},
{
"ref":"ida_ida.DEMNAM_NAME",
"url":18,
"doc":"display demangled names as regular names"
},
{
"ref":"ida_ida.DEMNAM_NONE",
"url":18,
"doc":"don't display demangled names"
},
{
"ref":"ida_ida.DEMNAM_GCC3",
"url":18,
"doc":"assume gcc3 names (valid for gnu compiler)"
},
{
"ref":"ida_ida.DEMNAM_FIRST",
"url":18,
"doc":"override type info"
},
{
"ref":"ida_ida.LN_NORMAL",
"url":18,
"doc":"include normal names"
},
{
"ref":"ida_ida.LN_PUBLIC",
"url":18,
"doc":"include public names"
},
{
"ref":"ida_ida.LN_AUTO",
"url":18,
"doc":"include autogenerated names"
},
{
"ref":"ida_ida.LN_WEAK",
"url":18,
"doc":"include weak names"
},
{
"ref":"ida_ida.OFLG_SHOW_VOID",
"url":18,
"doc":"Display void marks?"
},
{
"ref":"ida_ida.OFLG_SHOW_AUTO",
"url":18,
"doc":"Display autoanalysis indicator?"
},
{
"ref":"ida_ida.OFLG_GEN_NULL",
"url":18,
"doc":"Generate empty lines?"
},
{
"ref":"ida_ida.OFLG_SHOW_PREF",
"url":18,
"doc":"Show line prefixes?"
},
{
"ref":"ida_ida.OFLG_PREF_SEG",
"url":18,
"doc":"line prefixes with segment name?"
},
{
"ref":"ida_ida.OFLG_LZERO",
"url":18,
"doc":"generate leading zeroes in numbers"
},
{
"ref":"ida_ida.OFLG_GEN_ORG",
"url":18,
"doc":"Generate 'org' directives?"
},
{
"ref":"ida_ida.OFLG_GEN_ASSUME",
"url":18,
"doc":"Generate 'assume' directives?"
},
{
"ref":"ida_ida.OFLG_GEN_TRYBLKS",
"url":18,
"doc":"Generate try/catch directives?"
},
{
"ref":"ida_ida.SCF_RPTCMT",
"url":18,
"doc":"show repeatable comments?"
},
{
"ref":"ida_ida.SCF_ALLCMT",
"url":18,
"doc":"comment all lines?"
},
{
"ref":"ida_ida.SCF_NOCMT",
"url":18,
"doc":"no comments at all"
},
{
"ref":"ida_ida.SCF_LINNUM",
"url":18,
"doc":"show source line numbers"
},
{
"ref":"ida_ida.SCF_TESTMODE",
"url":18,
"doc":"testida.idc is running"
},
{
"ref":"ida_ida.SCF_SHHID_ITEM",
"url":18,
"doc":"show hidden instructions"
},
{
"ref":"ida_ida.SCF_SHHID_FUNC",
"url":18,
"doc":"show hidden functions"
},
{
"ref":"ida_ida.SCF_SHHID_SEGM",
"url":18,
"doc":"show hidden segments"
},
{
"ref":"ida_ida.LMT_THIN",
"url":18,
"doc":"thin borders"
},
{
"ref":"ida_ida.LMT_THICK",
"url":18,
"doc":"thick borders"
},
{
"ref":"ida_ida.LMT_EMPTY",
"url":18,
"doc":"empty lines at the end of basic blocks"
},
{
"ref":"ida_ida.PREF_SEGADR",
"url":18,
"doc":"show segment addresses?"
},
{
"ref":"ida_ida.PREF_FNCOFF",
"url":18,
"doc":"show function offsets?"
},
{
"ref":"ida_ida.PREF_STACK",
"url":18,
"doc":"show stack pointer?"
},
{
"ref":"ida_ida.PREF_PFXTRUNC",
"url":18,
"doc":"truncate instruction bytes if they would need more than 1 line"
},
{
"ref":"ida_ida.STRF_GEN",
"url":18,
"doc":"generate names?"
},
{
"ref":"ida_ida.STRF_AUTO",
"url":18,
"doc":"names have 'autogenerated' bit?"
},
{
"ref":"ida_ida.STRF_SERIAL",
"url":18,
"doc":"generate serial names?"
},
{
"ref":"ida_ida.STRF_UNICODE",
"url":18,
"doc":"unicode strings are present?"
},
{
"ref":"ida_ida.STRF_COMMENT",
"url":18,
"doc":"generate auto comment for string references?"
},
{
"ref":"ida_ida.STRF_SAVECASE",
"url":18,
"doc":"preserve case of strings for identifiers"
},
{
"ref":"ida_ida.ABI_8ALIGN4",
"url":18,
"doc":"4 byte alignment for 8byte scalars (__int64/double) inside structures?"
},
{
"ref":"ida_ida.ABI_PACK_STKARGS",
"url":18,
"doc":"do not align stack arguments to stack slots"
},
{
"ref":"ida_ida.ABI_BIGARG_ALIGN",
"url":18,
"doc":"use natural type alignment for argument if the alignment exceeds native word size. (e.g. __int64 argument should be 8byte aligned on some 32bit platforms)"
},
{
"ref":"ida_ida.ABI_STACK_LDBL",
"url":18,
"doc":"long double arguments are passed on stack"
},
{
"ref":"ida_ida.ABI_STACK_VARARGS",
"url":18,
"doc":"varargs are always passed on stack (even when there are free registers)"
},
{
"ref":"ida_ida.ABI_HARD_FLOAT",
"url":18,
"doc":"use the floating-point register set"
},
{
"ref":"ida_ida.ABI_SET_BY_USER",
"url":18,
"doc":"compiler/abi were set by user flag and require SETCOMP_BY_USER flag to be changed"
},
{
"ref":"ida_ida.ABI_GCC_LAYOUT",
"url":18,
"doc":"use gcc layout for udts (used for mingw)"
},
{
"ref":"ida_ida.ABI_MAP_STKARGS",
"url":18,
"doc":"register arguments are mapped to stack area (and consume stack slots)"
},
{
"ref":"ida_ida.ABI_HUGEARG_ALIGN",
"url":18,
"doc":"use natural type alignment for an argument even if its alignment exceeds double native word size (the default is to use double word max). e.g. if this bit is set, __int128 has 16-byte alignment. this bit is not used by ida yet"
},
{
"ref":"ida_ida.INF_FILE_FORMAT_NAME",
"url":18,
"doc":"file format name for loader modules"
},
{
"ref":"ida_ida.INF_GROUPS",
"url":18,
"doc":"segment group information (see init_groups( "
},
{
"ref":"ida_ida.INF_H_PATH",
"url":18,
"doc":"C header path."
},
{
"ref":"ida_ida.INF_C_MACROS",
"url":18,
"doc":"C predefined macros."
},
{
"ref":"ida_ida.INF_INCLUDE",
"url":18,
"doc":"assembler include file name"
},
{
"ref":"ida_ida.INF_DUALOP_GRAPH",
"url":18,
"doc":"Graph text representation options."
},
{
"ref":"ida_ida.INF_DUALOP_TEXT",
"url":18,
"doc":"Text text representation options."
},
{
"ref":"ida_ida.INF_MD5",
"url":18,
"doc":"MD5 of the input file."
},
{
"ref":"ida_ida.INF_IDA_VERSION",
"url":18,
"doc":"version of ida which created the database"
},
{
"ref":"ida_ida.INF_STR_ENCODINGS",
"url":18,
"doc":"a list of encodings for the program strings"
},
{
"ref":"ida_ida.INF_DBG_BINPATHS",
"url":18,
"doc":"unused (20 indexes)"
},
{
"ref":"ida_ida.INF_SHA256",
"url":18,
"doc":"SHA256 of the input file."
},
{
"ref":"ida_ida.INF_ABINAME",
"url":18,
"doc":"ABI name (processor specific)"
},
{
"ref":"ida_ida.INF_ARCHIVE_PATH",
"url":18,
"doc":"archive file path"
},
{
"ref":"ida_ida.INF_PROBLEMS",
"url":18,
"doc":"problem lists"
},
{
"ref":"ida_ida.INF_SELECTORS",
"url":18,
"doc":"2 63 are for selector_t blob (see init_selectors( "
},
{
"ref":"ida_ida.INF_NOTEPAD",
"url":18,
"doc":"notepad blob, occupies 1000 indexes (1MB of text)"
},
{
"ref":"ida_ida.INF_SRCDBG_PATHS",
"url":18,
"doc":"source debug paths, occupies 20 indexes"
},
{
"ref":"ida_ida.INF_SRCDBG_UNDESIRED",
"url":18,
"doc":"user-closed source files, occupies 20 indexes"
},
{
"ref":"ida_ida.INF_INITIAL_VERSION",
"url":18,
"doc":"initial version of database"
},
{
"ref":"ida_ida.INF_CTIME",
"url":18,
"doc":"database creation timestamp"
},
{
"ref":"ida_ida.INF_ELAPSED",
"url":18,
"doc":"seconds database stayed open"
},
{
"ref":"ida_ida.INF_NOPENS",
"url":18,
"doc":"how many times the database is opened"
},
{
"ref":"ida_ida.INF_CRC32",
"url":18,
"doc":"input file crc32"
},
{
"ref":"ida_ida.INF_IMAGEBASE",
"url":18,
"doc":"image base"
},
{
"ref":"ida_ida.INF_IDSNODE",
"url":18,
"doc":"ids modnode id (for import_module)"
},
{
"ref":"ida_ida.INF_FSIZE",
"url":18,
"doc":"input file size"
},
{
"ref":"ida_ida.INF_OUTFILEENC",
"url":18,
"doc":"output file encoding index"
},
{
"ref":"ida_ida.getinf_str",
"url":18,
"doc":"getinf_str(tag) -> str Get program specific information (a non-scalar value) @param tag: (C : inftag_t) one of inftag_t constants @return: number of bytes stored in the buffer (<0 - not defined)",
"func":1
},
{
"ref":"ida_ida.delinf",
"url":18,
"doc":"delinf(tag) -> bool Undefine a program specific information @param tag: (C : inftag_t) one of inftag_t constants @return: success",
"func":1
},
{
"ref":"ida_ida.inf_get_version",
"url":18,
"doc":"inf_get_version() -> ushort",
"func":1
},
{
"ref":"ida_ida.inf_set_version",
"url":18,
"doc":"inf_set_version(_v) -> bool @param _v: ushort",
"func":1
},
{
"ref":"ida_ida.inf_get_genflags",
"url":18,
"doc":"inf_get_genflags() -> ushort",
"func":1
},
{
"ref":"ida_ida.inf_set_genflags",
"url":18,
"doc":"inf_set_genflags(_v) -> bool @param _v: ushort",
"func":1
},
{
"ref":"ida_ida.inf_is_auto_enabled",
"url":18,
"doc":"inf_is_auto_enabled() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_auto_enabled",
"url":18,
"doc":"inf_set_auto_enabled(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_use_allasm",
"url":18,
"doc":"inf_use_allasm() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_use_allasm",
"url":18,
"doc":"inf_set_use_allasm(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_loading_idc",
"url":18,
"doc":"inf_loading_idc() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_loading_idc",
"url":18,
"doc":"inf_set_loading_idc(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_no_store_user_info",
"url":18,
"doc":"inf_no_store_user_info() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_no_store_user_info",
"url":18,
"doc":"inf_set_no_store_user_info(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_readonly_idb",
"url":18,
"doc":"inf_readonly_idb() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_readonly_idb",
"url":18,
"doc":"inf_set_readonly_idb(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_check_manual_ops",
"url":18,
"doc":"inf_check_manual_ops() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_check_manual_ops",
"url":18,
"doc":"inf_set_check_manual_ops(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_allow_non_matched_ops",
"url":18,
"doc":"inf_allow_non_matched_ops() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_allow_non_matched_ops",
"url":18,
"doc":"inf_set_allow_non_matched_ops(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_is_graph_view",
"url":18,
"doc":"inf_is_graph_view() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_graph_view",
"url":18,
"doc":"inf_set_graph_view(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_get_lflags",
"url":18,
"doc":"inf_get_lflags() -> uint32",
"func":1
},
{
"ref":"ida_ida.inf_set_lflags",
"url":18,
"doc":"inf_set_lflags(_v) -> bool @param _v: uint32",
"func":1
},
{
"ref":"ida_ida.inf_decode_fpp",
"url":18,
"doc":"inf_decode_fpp() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_decode_fpp",
"url":18,
"doc":"inf_set_decode_fpp(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_is_32bit_or_higher",
"url":18,
"doc":"inf_is_32bit_or_higher() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_is_32bit_exactly",
"url":18,
"doc":"inf_is_32bit_exactly() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_32bit",
"url":18,
"doc":"inf_set_32bit(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_is_16bit",
"url":18,
"doc":"inf_is_16bit() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_is_64bit",
"url":18,
"doc":"inf_is_64bit() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_64bit",
"url":18,
"doc":"inf_set_64bit(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_is_dll",
"url":18,
"doc":"inf_is_dll() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_dll",
"url":18,
"doc":"inf_set_dll(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_is_flat_off32",
"url":18,
"doc":"inf_is_flat_off32() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_flat_off32",
"url":18,
"doc":"inf_set_flat_off32(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_is_be",
"url":18,
"doc":"inf_is_be() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_be",
"url":18,
"doc":"inf_set_be(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_is_wide_high_byte_first",
"url":18,
"doc":"inf_is_wide_high_byte_first() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_wide_high_byte_first",
"url":18,
"doc":"inf_set_wide_high_byte_first(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_dbg_no_store_path",
"url":18,
"doc":"inf_dbg_no_store_path() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_dbg_no_store_path",
"url":18,
"doc":"inf_set_dbg_no_store_path(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_is_snapshot",
"url":18,
"doc":"inf_is_snapshot() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_snapshot",
"url":18,
"doc":"inf_set_snapshot(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_pack_idb",
"url":18,
"doc":"inf_pack_idb() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_pack_idb",
"url":18,
"doc":"inf_set_pack_idb(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_compress_idb",
"url":18,
"doc":"inf_compress_idb() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_compress_idb",
"url":18,
"doc":"inf_set_compress_idb(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_is_kernel_mode",
"url":18,
"doc":"inf_is_kernel_mode() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_kernel_mode",
"url":18,
"doc":"inf_set_kernel_mode(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_get_app_bitness",
"url":18,
"doc":"inf_get_app_bitness() -> uint",
"func":1
},
{
"ref":"ida_ida.inf_set_app_bitness",
"url":18,
"doc":"inf_set_app_bitness(bitness) @param bitness: uint",
"func":1
},
{
"ref":"ida_ida.inf_get_database_change_count",
"url":18,
"doc":"inf_get_database_change_count() -> uint32",
"func":1
},
{
"ref":"ida_ida.inf_set_database_change_count",
"url":18,
"doc":"inf_set_database_change_count(_v) -> bool @param _v: uint32",
"func":1
},
{
"ref":"ida_ida.inf_get_filetype",
"url":18,
"doc":"inf_get_filetype() -> filetype_t",
"func":1
},
{
"ref":"ida_ida.inf_set_filetype",
"url":18,
"doc":"inf_set_filetype(_v) -> bool @param _v: enum filetype_t",
"func":1
},
{
"ref":"ida_ida.inf_get_ostype",
"url":18,
"doc":"inf_get_ostype() -> ushort",
"func":1
},
{
"ref":"ida_ida.inf_set_ostype",
"url":18,
"doc":"inf_set_ostype(_v) -> bool @param _v: ushort",
"func":1
},
{
"ref":"ida_ida.inf_get_apptype",
"url":18,
"doc":"inf_get_apptype() -> ushort",
"func":1
},
{
"ref":"ida_ida.inf_set_apptype",
"url":18,
"doc":"inf_set_apptype(_v) -> bool @param _v: ushort",
"func":1
},
{
"ref":"ida_ida.inf_get_asmtype",
"url":18,
"doc":"inf_get_asmtype() -> uchar",
"func":1
},
{
"ref":"ida_ida.inf_set_asmtype",
"url":18,
"doc":"inf_set_asmtype(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_ida.inf_get_specsegs",
"url":18,
"doc":"inf_get_specsegs() -> uchar",
"func":1
},
{
"ref":"ida_ida.inf_set_specsegs",
"url":18,
"doc":"inf_set_specsegs(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_ida.inf_get_af",
"url":18,
"doc":"inf_get_af() -> uint32",
"func":1
},
{
"ref":"ida_ida.inf_set_af",
"url":18,
"doc":"inf_set_af(_v) -> bool @param _v: uint32",
"func":1
},
{
"ref":"ida_ida.inf_trace_flow",
"url":18,
"doc":"inf_trace_flow() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_trace_flow",
"url":18,
"doc":"inf_set_trace_flow(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_mark_code",
"url":18,
"doc":"inf_mark_code() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_mark_code",
"url":18,
"doc":"inf_set_mark_code(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_create_jump_tables",
"url":18,
"doc":"inf_create_jump_tables() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_create_jump_tables",
"url":18,
"doc":"inf_set_create_jump_tables(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_noflow_to_data",
"url":18,
"doc":"inf_noflow_to_data() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_noflow_to_data",
"url":18,
"doc":"inf_set_noflow_to_data(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_create_all_xrefs",
"url":18,
"doc":"inf_create_all_xrefs() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_create_all_xrefs",
"url":18,
"doc":"inf_set_create_all_xrefs(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_del_no_xref_insns",
"url":18,
"doc":"inf_del_no_xref_insns() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_del_no_xref_insns",
"url":18,
"doc":"inf_set_del_no_xref_insns(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_create_func_from_ptr",
"url":18,
"doc":"inf_create_func_from_ptr() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_create_func_from_ptr",
"url":18,
"doc":"inf_set_create_func_from_ptr(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_create_func_from_call",
"url":18,
"doc":"inf_create_func_from_call() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_create_func_from_call",
"url":18,
"doc":"inf_set_create_func_from_call(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_create_func_tails",
"url":18,
"doc":"inf_create_func_tails() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_create_func_tails",
"url":18,
"doc":"inf_set_create_func_tails(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_should_create_stkvars",
"url":18,
"doc":"inf_should_create_stkvars() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_should_create_stkvars",
"url":18,
"doc":"inf_set_should_create_stkvars(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_propagate_stkargs",
"url":18,
"doc":"inf_propagate_stkargs() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_propagate_stkargs",
"url":18,
"doc":"inf_set_propagate_stkargs(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_propagate_regargs",
"url":18,
"doc":"inf_propagate_regargs() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_propagate_regargs",
"url":18,
"doc":"inf_set_propagate_regargs(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_should_trace_sp",
"url":18,
"doc":"inf_should_trace_sp() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_should_trace_sp",
"url":18,
"doc":"inf_set_should_trace_sp(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_full_sp_ana",
"url":18,
"doc":"inf_full_sp_ana() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_full_sp_ana",
"url":18,
"doc":"inf_set_full_sp_ana(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_noret_ana",
"url":18,
"doc":"inf_noret_ana() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_noret_ana",
"url":18,
"doc":"inf_set_noret_ana(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_guess_func_type",
"url":18,
"doc":"inf_guess_func_type() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_guess_func_type",
"url":18,
"doc":"inf_set_guess_func_type(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_truncate_on_del",
"url":18,
"doc":"inf_truncate_on_del() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_truncate_on_del",
"url":18,
"doc":"inf_set_truncate_on_del(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_create_strlit_on_xref",
"url":18,
"doc":"inf_create_strlit_on_xref() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_create_strlit_on_xref",
"url":18,
"doc":"inf_set_create_strlit_on_xref(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_check_unicode_strlits",
"url":18,
"doc":"inf_check_unicode_strlits() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_check_unicode_strlits",
"url":18,
"doc":"inf_set_check_unicode_strlits(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_create_off_using_fixup",
"url":18,
"doc":"inf_create_off_using_fixup() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_create_off_using_fixup",
"url":18,
"doc":"inf_set_create_off_using_fixup(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_create_off_on_dref",
"url":18,
"doc":"inf_create_off_on_dref() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_create_off_on_dref",
"url":18,
"doc":"inf_set_create_off_on_dref(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_op_offset",
"url":18,
"doc":"inf_op_offset() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_op_offset",
"url":18,
"doc":"inf_set_op_offset(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_data_offset",
"url":18,
"doc":"inf_data_offset() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_data_offset",
"url":18,
"doc":"inf_set_data_offset(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_use_flirt",
"url":18,
"doc":"inf_use_flirt() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_use_flirt",
"url":18,
"doc":"inf_set_use_flirt(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_append_sigcmt",
"url":18,
"doc":"inf_append_sigcmt() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_append_sigcmt",
"url":18,
"doc":"inf_set_append_sigcmt(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_allow_sigmulti",
"url":18,
"doc":"inf_allow_sigmulti() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_allow_sigmulti",
"url":18,
"doc":"inf_set_allow_sigmulti(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_hide_libfuncs",
"url":18,
"doc":"inf_hide_libfuncs() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_hide_libfuncs",
"url":18,
"doc":"inf_set_hide_libfuncs(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_rename_jumpfunc",
"url":18,
"doc":"inf_rename_jumpfunc() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_rename_jumpfunc",
"url":18,
"doc":"inf_set_rename_jumpfunc(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_rename_nullsub",
"url":18,
"doc":"inf_rename_nullsub() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_rename_nullsub",
"url":18,
"doc":"inf_set_rename_nullsub(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_coagulate_data",
"url":18,
"doc":"inf_coagulate_data() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_coagulate_data",
"url":18,
"doc":"inf_set_coagulate_data(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_coagulate_code",
"url":18,
"doc":"inf_coagulate_code() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_coagulate_code",
"url":18,
"doc":"inf_set_coagulate_code(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_final_pass",
"url":18,
"doc":"inf_final_pass() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_final_pass",
"url":18,
"doc":"inf_set_final_pass(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_get_af2",
"url":18,
"doc":"inf_get_af2() -> uint32",
"func":1
},
{
"ref":"ida_ida.inf_set_af2",
"url":18,
"doc":"inf_set_af2(_v) -> bool @param _v: uint32",
"func":1
},
{
"ref":"ida_ida.inf_handle_eh",
"url":18,
"doc":"inf_handle_eh() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_handle_eh",
"url":18,
"doc":"inf_set_handle_eh(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_handle_rtti",
"url":18,
"doc":"inf_handle_rtti() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_handle_rtti",
"url":18,
"doc":"inf_set_handle_rtti(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_macros_enabled",
"url":18,
"doc":"inf_macros_enabled() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_macros_enabled",
"url":18,
"doc":"inf_set_macros_enabled(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_merge_strlits",
"url":18,
"doc":"inf_merge_strlits() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_merge_strlits",
"url":18,
"doc":"inf_set_merge_strlits(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_get_baseaddr",
"url":18,
"doc":"inf_get_baseaddr() -> uval_t",
"func":1
},
{
"ref":"ida_ida.inf_set_baseaddr",
"url":18,
"doc":"inf_set_baseaddr(_v) -> bool @param _v: uval_t",
"func":1
},
{
"ref":"ida_ida.inf_get_start_ss",
"url":18,
"doc":"inf_get_start_ss() -> sel_t",
"func":1
},
{
"ref":"ida_ida.inf_set_start_ss",
"url":18,
"doc":"inf_set_start_ss(_v) -> bool @param _v: sel_t",
"func":1
},
{
"ref":"ida_ida.inf_get_start_cs",
"url":18,
"doc":"inf_get_start_cs() -> sel_t",
"func":1
},
{
"ref":"ida_ida.inf_set_start_cs",
"url":18,
"doc":"inf_set_start_cs(_v) -> bool @param _v: sel_t",
"func":1
},
{
"ref":"ida_ida.inf_get_start_ip",
"url":18,
"doc":"inf_get_start_ip() -> ea_t",
"func":1
},
{
"ref":"ida_ida.inf_set_start_ip",
"url":18,
"doc":"inf_set_start_ip(_v) -> bool @param _v: ea_t",
"func":1
},
{
"ref":"ida_ida.inf_get_start_ea",
"url":18,
"doc":"inf_get_start_ea() -> ea_t",
"func":1
},
{
"ref":"ida_ida.inf_set_start_ea",
"url":18,
"doc":"inf_set_start_ea(_v) -> bool @param _v: ea_t",
"func":1
},
{
"ref":"ida_ida.inf_get_start_sp",
"url":18,
"doc":"inf_get_start_sp() -> ea_t",
"func":1
},
{
"ref":"ida_ida.inf_set_start_sp",
"url":18,
"doc":"inf_set_start_sp(_v) -> bool @param _v: ea_t",
"func":1
},
{
"ref":"ida_ida.inf_get_main",
"url":18,
"doc":"inf_get_main() -> ea_t",
"func":1
},
{
"ref":"ida_ida.inf_set_main",
"url":18,
"doc":"inf_set_main(_v) -> bool @param _v: ea_t",
"func":1
},
{
"ref":"ida_ida.inf_get_min_ea",
"url":18,
"doc":"inf_get_min_ea() -> ea_t",
"func":1
},
{
"ref":"ida_ida.inf_set_min_ea",
"url":18,
"doc":"inf_set_min_ea(_v) -> bool @param _v: ea_t",
"func":1
},
{
"ref":"ida_ida.inf_get_max_ea",
"url":18,
"doc":"inf_get_max_ea() -> ea_t",
"func":1
},
{
"ref":"ida_ida.inf_set_max_ea",
"url":18,
"doc":"inf_set_max_ea(_v) -> bool @param _v: ea_t",
"func":1
},
{
"ref":"ida_ida.inf_get_omin_ea",
"url":18,
"doc":"inf_get_omin_ea() -> ea_t",
"func":1
},
{
"ref":"ida_ida.inf_set_omin_ea",
"url":18,
"doc":"inf_set_omin_ea(_v) -> bool @param _v: ea_t",
"func":1
},
{
"ref":"ida_ida.inf_get_omax_ea",
"url":18,
"doc":"inf_get_omax_ea() -> ea_t",
"func":1
},
{
"ref":"ida_ida.inf_set_omax_ea",
"url":18,
"doc":"inf_set_omax_ea(_v) -> bool @param _v: ea_t",
"func":1
},
{
"ref":"ida_ida.inf_get_lowoff",
"url":18,
"doc":"inf_get_lowoff() -> ea_t",
"func":1
},
{
"ref":"ida_ida.inf_set_lowoff",
"url":18,
"doc":"inf_set_lowoff(_v) -> bool @param _v: ea_t",
"func":1
},
{
"ref":"ida_ida.inf_get_highoff",
"url":18,
"doc":"inf_get_highoff() -> ea_t",
"func":1
},
{
"ref":"ida_ida.inf_set_highoff",
"url":18,
"doc":"inf_set_highoff(_v) -> bool @param _v: ea_t",
"func":1
},
{
"ref":"ida_ida.inf_get_maxref",
"url":18,
"doc":"inf_get_maxref() -> uval_t",
"func":1
},
{
"ref":"ida_ida.inf_set_maxref",
"url":18,
"doc":"inf_set_maxref(_v) -> bool @param _v: uval_t",
"func":1
},
{
"ref":"ida_ida.inf_get_netdelta",
"url":18,
"doc":"inf_get_netdelta() -> sval_t",
"func":1
},
{
"ref":"ida_ida.inf_set_netdelta",
"url":18,
"doc":"inf_set_netdelta(_v) -> bool @param _v: sval_t",
"func":1
},
{
"ref":"ida_ida.inf_get_xrefnum",
"url":18,
"doc":"inf_get_xrefnum() -> uchar",
"func":1
},
{
"ref":"ida_ida.inf_set_xrefnum",
"url":18,
"doc":"inf_set_xrefnum(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_ida.inf_get_type_xrefnum",
"url":18,
"doc":"inf_get_type_xrefnum() -> uchar",
"func":1
},
{
"ref":"ida_ida.inf_set_type_xrefnum",
"url":18,
"doc":"inf_set_type_xrefnum(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_ida.inf_get_refcmtnum",
"url":18,
"doc":"inf_get_refcmtnum() -> uchar",
"func":1
},
{
"ref":"ida_ida.inf_set_refcmtnum",
"url":18,
"doc":"inf_set_refcmtnum(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_ida.inf_get_xrefflag",
"url":18,
"doc":"inf_get_xrefflag() -> uchar",
"func":1
},
{
"ref":"ida_ida.inf_set_xrefflag",
"url":18,
"doc":"inf_set_xrefflag(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_ida.inf_show_xref_seg",
"url":18,
"doc":"inf_show_xref_seg() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_show_xref_seg",
"url":18,
"doc":"inf_set_show_xref_seg(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_show_xref_tmarks",
"url":18,
"doc":"inf_show_xref_tmarks() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_show_xref_tmarks",
"url":18,
"doc":"inf_set_show_xref_tmarks(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_show_xref_fncoff",
"url":18,
"doc":"inf_show_xref_fncoff() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_show_xref_fncoff",
"url":18,
"doc":"inf_set_show_xref_fncoff(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_show_xref_val",
"url":18,
"doc":"inf_show_xref_val() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_show_xref_val",
"url":18,
"doc":"inf_set_show_xref_val(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_get_max_autoname_len",
"url":18,
"doc":"inf_get_max_autoname_len() -> ushort",
"func":1
},
{
"ref":"ida_ida.inf_set_max_autoname_len",
"url":18,
"doc":"inf_set_max_autoname_len(_v) -> bool @param _v: ushort",
"func":1
},
{
"ref":"ida_ida.inf_get_nametype",
"url":18,
"doc":"inf_get_nametype() -> char",
"func":1
},
{
"ref":"ida_ida.inf_set_nametype",
"url":18,
"doc":"inf_set_nametype(_v) -> bool @param _v: char",
"func":1
},
{
"ref":"ida_ida.inf_get_short_demnames",
"url":18,
"doc":"inf_get_short_demnames() -> uint32",
"func":1
},
{
"ref":"ida_ida.inf_set_short_demnames",
"url":18,
"doc":"inf_set_short_demnames(_v) -> bool @param _v: uint32",
"func":1
},
{
"ref":"ida_ida.inf_get_long_demnames",
"url":18,
"doc":"inf_get_long_demnames() -> uint32",
"func":1
},
{
"ref":"ida_ida.inf_set_long_demnames",
"url":18,
"doc":"inf_set_long_demnames(_v) -> bool @param _v: uint32",
"func":1
},
{
"ref":"ida_ida.inf_get_demnames",
"url":18,
"doc":"inf_get_demnames() -> uchar",
"func":1
},
{
"ref":"ida_ida.inf_set_demnames",
"url":18,
"doc":"inf_set_demnames(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_ida.inf_get_listnames",
"url":18,
"doc":"inf_get_listnames() -> uchar",
"func":1
},
{
"ref":"ida_ida.inf_set_listnames",
"url":18,
"doc":"inf_set_listnames(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_ida.inf_get_indent",
"url":18,
"doc":"inf_get_indent() -> uchar",
"func":1
},
{
"ref":"ida_ida.inf_set_indent",
"url":18,
"doc":"inf_set_indent(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_ida.inf_get_cmt_indent",
"url":18,
"doc":"inf_get_cmt_indent() -> uchar",
"func":1
},
{
"ref":"ida_ida.inf_set_cmt_indent",
"url":18,
"doc":"inf_set_cmt_indent(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_ida.inf_get_margin",
"url":18,
"doc":"inf_get_margin() -> ushort",
"func":1
},
{
"ref":"ida_ida.inf_set_margin",
"url":18,
"doc":"inf_set_margin(_v) -> bool @param _v: ushort",
"func":1
},
{
"ref":"ida_ida.inf_get_lenxref",
"url":18,
"doc":"inf_get_lenxref() -> ushort",
"func":1
},
{
"ref":"ida_ida.inf_set_lenxref",
"url":18,
"doc":"inf_set_lenxref(_v) -> bool @param _v: ushort",
"func":1
},
{
"ref":"ida_ida.inf_get_outflags",
"url":18,
"doc":"inf_get_outflags() -> uint32",
"func":1
},
{
"ref":"ida_ida.inf_set_outflags",
"url":18,
"doc":"inf_set_outflags(_v) -> bool @param _v: uint32",
"func":1
},
{
"ref":"ida_ida.inf_show_void",
"url":18,
"doc":"inf_show_void() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_show_void",
"url":18,
"doc":"inf_set_show_void(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_show_auto",
"url":18,
"doc":"inf_show_auto() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_show_auto",
"url":18,
"doc":"inf_set_show_auto(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_gen_null",
"url":18,
"doc":"inf_gen_null() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_gen_null",
"url":18,
"doc":"inf_set_gen_null(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_show_line_pref",
"url":18,
"doc":"inf_show_line_pref() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_show_line_pref",
"url":18,
"doc":"inf_set_show_line_pref(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_line_pref_with_seg",
"url":18,
"doc":"inf_line_pref_with_seg() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_line_pref_with_seg",
"url":18,
"doc":"inf_set_line_pref_with_seg(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_gen_lzero",
"url":18,
"doc":"inf_gen_lzero() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_gen_lzero",
"url":18,
"doc":"inf_set_gen_lzero(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_gen_org",
"url":18,
"doc":"inf_gen_org() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_gen_org",
"url":18,
"doc":"inf_set_gen_org(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_gen_assume",
"url":18,
"doc":"inf_gen_assume() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_gen_assume",
"url":18,
"doc":"inf_set_gen_assume(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_gen_tryblks",
"url":18,
"doc":"inf_gen_tryblks() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_gen_tryblks",
"url":18,
"doc":"inf_set_gen_tryblks(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_get_cmtflg",
"url":18,
"doc":"inf_get_cmtflg() -> uchar",
"func":1
},
{
"ref":"ida_ida.inf_set_cmtflg",
"url":18,
"doc":"inf_set_cmtflg(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_ida.inf_show_repeatables",
"url":18,
"doc":"inf_show_repeatables() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_show_repeatables",
"url":18,
"doc":"inf_set_show_repeatables(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_show_all_comments",
"url":18,
"doc":"inf_show_all_comments() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_show_all_comments",
"url":18,
"doc":"inf_set_show_all_comments(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_hide_comments",
"url":18,
"doc":"inf_hide_comments() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_hide_comments",
"url":18,
"doc":"inf_set_hide_comments(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_show_src_linnum",
"url":18,
"doc":"inf_show_src_linnum() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_show_src_linnum",
"url":18,
"doc":"inf_set_show_src_linnum(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_test_mode",
"url":18,
"doc":"inf_test_mode() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_show_hidden_insns",
"url":18,
"doc":"inf_show_hidden_insns() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_show_hidden_insns",
"url":18,
"doc":"inf_set_show_hidden_insns(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_show_hidden_funcs",
"url":18,
"doc":"inf_show_hidden_funcs() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_show_hidden_funcs",
"url":18,
"doc":"inf_set_show_hidden_funcs(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_show_hidden_segms",
"url":18,
"doc":"inf_show_hidden_segms() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_show_hidden_segms",
"url":18,
"doc":"inf_set_show_hidden_segms(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_get_limiter",
"url":18,
"doc":"inf_get_limiter() -> uchar",
"func":1
},
{
"ref":"ida_ida.inf_set_limiter",
"url":18,
"doc":"inf_set_limiter(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_ida.inf_is_limiter_thin",
"url":18,
"doc":"inf_is_limiter_thin() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_limiter_thin",
"url":18,
"doc":"inf_set_limiter_thin(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_is_limiter_thick",
"url":18,
"doc":"inf_is_limiter_thick() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_limiter_thick",
"url":18,
"doc":"inf_set_limiter_thick(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_is_limiter_empty",
"url":18,
"doc":"inf_is_limiter_empty() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_limiter_empty",
"url":18,
"doc":"inf_set_limiter_empty(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_get_bin_prefix_size",
"url":18,
"doc":"inf_get_bin_prefix_size() -> short",
"func":1
},
{
"ref":"ida_ida.inf_set_bin_prefix_size",
"url":18,
"doc":"inf_set_bin_prefix_size(_v) -> bool @param _v: short",
"func":1
},
{
"ref":"ida_ida.inf_get_prefflag",
"url":18,
"doc":"inf_get_prefflag() -> uchar",
"func":1
},
{
"ref":"ida_ida.inf_set_prefflag",
"url":18,
"doc":"inf_set_prefflag(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_ida.inf_prefix_show_segaddr",
"url":18,
"doc":"inf_prefix_show_segaddr() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_prefix_show_segaddr",
"url":18,
"doc":"inf_set_prefix_show_segaddr(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_prefix_show_funcoff",
"url":18,
"doc":"inf_prefix_show_funcoff() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_prefix_show_funcoff",
"url":18,
"doc":"inf_set_prefix_show_funcoff(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_prefix_show_stack",
"url":18,
"doc":"inf_prefix_show_stack() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_prefix_show_stack",
"url":18,
"doc":"inf_set_prefix_show_stack(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_prefix_truncate_opcode_bytes",
"url":18,
"doc":"inf_prefix_truncate_opcode_bytes() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_prefix_truncate_opcode_bytes",
"url":18,
"doc":"inf_set_prefix_truncate_opcode_bytes(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_get_strlit_flags",
"url":18,
"doc":"inf_get_strlit_flags() -> uchar",
"func":1
},
{
"ref":"ida_ida.inf_set_strlit_flags",
"url":18,
"doc":"inf_set_strlit_flags(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_ida.inf_strlit_names",
"url":18,
"doc":"inf_strlit_names() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_strlit_names",
"url":18,
"doc":"inf_set_strlit_names(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_strlit_name_bit",
"url":18,
"doc":"inf_strlit_name_bit() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_strlit_name_bit",
"url":18,
"doc":"inf_set_strlit_name_bit(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_strlit_serial_names",
"url":18,
"doc":"inf_strlit_serial_names() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_strlit_serial_names",
"url":18,
"doc":"inf_set_strlit_serial_names(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_unicode_strlits",
"url":18,
"doc":"inf_unicode_strlits() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_unicode_strlits",
"url":18,
"doc":"inf_set_unicode_strlits(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_strlit_autocmt",
"url":18,
"doc":"inf_strlit_autocmt() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_strlit_autocmt",
"url":18,
"doc":"inf_set_strlit_autocmt(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_strlit_savecase",
"url":18,
"doc":"inf_strlit_savecase() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_strlit_savecase",
"url":18,
"doc":"inf_set_strlit_savecase(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_get_strlit_break",
"url":18,
"doc":"inf_get_strlit_break() -> uchar",
"func":1
},
{
"ref":"ida_ida.inf_set_strlit_break",
"url":18,
"doc":"inf_set_strlit_break(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_ida.inf_get_strlit_zeroes",
"url":18,
"doc":"inf_get_strlit_zeroes() -> char",
"func":1
},
{
"ref":"ida_ida.inf_set_strlit_zeroes",
"url":18,
"doc":"inf_set_strlit_zeroes(_v) -> bool @param _v: char",
"func":1
},
{
"ref":"ida_ida.inf_get_strtype",
"url":18,
"doc":"inf_get_strtype() -> int32",
"func":1
},
{
"ref":"ida_ida.inf_set_strtype",
"url":18,
"doc":"inf_set_strtype(_v) -> bool @param _v: int32",
"func":1
},
{
"ref":"ida_ida.inf_get_strlit_sernum",
"url":18,
"doc":"inf_get_strlit_sernum() -> uval_t",
"func":1
},
{
"ref":"ida_ida.inf_set_strlit_sernum",
"url":18,
"doc":"inf_set_strlit_sernum(_v) -> bool @param _v: uval_t",
"func":1
},
{
"ref":"ida_ida.inf_get_datatypes",
"url":18,
"doc":"inf_get_datatypes() -> uval_t",
"func":1
},
{
"ref":"ida_ida.inf_set_datatypes",
"url":18,
"doc":"inf_set_datatypes(_v) -> bool @param _v: uval_t",
"func":1
},
{
"ref":"ida_ida.inf_get_abibits",
"url":18,
"doc":"inf_get_abibits() -> uint32",
"func":1
},
{
"ref":"ida_ida.inf_set_abibits",
"url":18,
"doc":"inf_set_abibits(_v) -> bool @param _v: uint32",
"func":1
},
{
"ref":"ida_ida.inf_is_mem_aligned4",
"url":18,
"doc":"inf_is_mem_aligned4() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_mem_aligned4",
"url":18,
"doc":"inf_set_mem_aligned4(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_pack_stkargs",
"url":18,
"doc":"inf_pack_stkargs(cc) -> bool @param cc: cm_t inf_pack_stkargs() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_pack_stkargs",
"url":18,
"doc":"inf_set_pack_stkargs(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_big_arg_align",
"url":18,
"doc":"inf_big_arg_align(cc) -> bool @param cc: cm_t inf_big_arg_align() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_big_arg_align",
"url":18,
"doc":"inf_set_big_arg_align(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_stack_ldbl",
"url":18,
"doc":"inf_stack_ldbl() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_stack_ldbl",
"url":18,
"doc":"inf_set_stack_ldbl(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_stack_varargs",
"url":18,
"doc":"inf_stack_varargs() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_stack_varargs",
"url":18,
"doc":"inf_set_stack_varargs(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_is_hard_float",
"url":18,
"doc":"inf_is_hard_float() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_hard_float",
"url":18,
"doc":"inf_set_hard_float(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_abi_set_by_user",
"url":18,
"doc":"inf_abi_set_by_user() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_abi_set_by_user",
"url":18,
"doc":"inf_set_abi_set_by_user(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_use_gcc_layout",
"url":18,
"doc":"inf_use_gcc_layout() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_use_gcc_layout",
"url":18,
"doc":"inf_set_use_gcc_layout(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_map_stkargs",
"url":18,
"doc":"inf_map_stkargs() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_map_stkargs",
"url":18,
"doc":"inf_set_map_stkargs(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_huge_arg_align",
"url":18,
"doc":"inf_huge_arg_align(cc) -> bool @param cc: cm_t inf_huge_arg_align() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_set_huge_arg_align",
"url":18,
"doc":"inf_set_huge_arg_align(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.inf_get_appcall_options",
"url":18,
"doc":"inf_get_appcall_options() -> uint32",
"func":1
},
{
"ref":"ida_ida.inf_set_appcall_options",
"url":18,
"doc":"inf_set_appcall_options(_v) -> bool @param _v: uint32",
"func":1
},
{
"ref":"ida_ida.inf_get_privrange_start_ea",
"url":18,
"doc":"inf_get_privrange_start_ea() -> ea_t",
"func":1
},
{
"ref":"ida_ida.inf_set_privrange_start_ea",
"url":18,
"doc":"inf_set_privrange_start_ea(_v) -> bool @param _v: ea_t",
"func":1
},
{
"ref":"ida_ida.inf_get_privrange_end_ea",
"url":18,
"doc":"inf_get_privrange_end_ea() -> ea_t",
"func":1
},
{
"ref":"ida_ida.inf_set_privrange_end_ea",
"url":18,
"doc":"inf_set_privrange_end_ea(_v) -> bool @param _v: ea_t",
"func":1
},
{
"ref":"ida_ida.inf_get_cc_id",
"url":18,
"doc":"inf_get_cc_id() -> comp_t",
"func":1
},
{
"ref":"ida_ida.inf_set_cc_id",
"url":18,
"doc":"inf_set_cc_id(_v) -> bool @param _v: comp_t",
"func":1
},
{
"ref":"ida_ida.inf_get_cc_cm",
"url":18,
"doc":"inf_get_cc_cm() -> cm_t",
"func":1
},
{
"ref":"ida_ida.inf_set_cc_cm",
"url":18,
"doc":"inf_set_cc_cm(_v) -> bool @param _v: cm_t",
"func":1
},
{
"ref":"ida_ida.inf_get_cc_size_i",
"url":18,
"doc":"inf_get_cc_size_i() -> uchar",
"func":1
},
{
"ref":"ida_ida.inf_set_cc_size_i",
"url":18,
"doc":"inf_set_cc_size_i(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_ida.inf_get_cc_size_b",
"url":18,
"doc":"inf_get_cc_size_b() -> uchar",
"func":1
},
{
"ref":"ida_ida.inf_set_cc_size_b",
"url":18,
"doc":"inf_set_cc_size_b(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_ida.inf_get_cc_size_e",
"url":18,
"doc":"inf_get_cc_size_e() -> uchar",
"func":1
},
{
"ref":"ida_ida.inf_set_cc_size_e",
"url":18,
"doc":"inf_set_cc_size_e(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_ida.inf_get_cc_defalign",
"url":18,
"doc":"inf_get_cc_defalign() -> uchar",
"func":1
},
{
"ref":"ida_ida.inf_set_cc_defalign",
"url":18,
"doc":"inf_set_cc_defalign(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_ida.inf_get_cc_size_s",
"url":18,
"doc":"inf_get_cc_size_s() -> uchar",
"func":1
},
{
"ref":"ida_ida.inf_set_cc_size_s",
"url":18,
"doc":"inf_set_cc_size_s(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_ida.inf_get_cc_size_l",
"url":18,
"doc":"inf_get_cc_size_l() -> uchar",
"func":1
},
{
"ref":"ida_ida.inf_set_cc_size_l",
"url":18,
"doc":"inf_set_cc_size_l(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_ida.inf_get_cc_size_ll",
"url":18,
"doc":"inf_get_cc_size_ll() -> uchar",
"func":1
},
{
"ref":"ida_ida.inf_set_cc_size_ll",
"url":18,
"doc":"inf_set_cc_size_ll(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_ida.inf_get_cc_size_ldbl",
"url":18,
"doc":"inf_get_cc_size_ldbl() -> uchar",
"func":1
},
{
"ref":"ida_ida.inf_set_cc_size_ldbl",
"url":18,
"doc":"inf_set_cc_size_ldbl(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_ida.inf_get_procname",
"url":18,
"doc":"inf_get_procname() -> str",
"func":1
},
{
"ref":"ida_ida.inf_set_procname",
"url":18,
"doc":"inf_set_procname(_v, len=size_t(-1 -> bool @param _v: char const  @param len: size_t",
"func":1
},
{
"ref":"ida_ida.inf_get_strlit_pref",
"url":18,
"doc":"inf_get_strlit_pref() -> str",
"func":1
},
{
"ref":"ida_ida.inf_set_strlit_pref",
"url":18,
"doc":"inf_set_strlit_pref(_v, len=size_t(-1 -> bool @param _v: char const  @param len: size_t",
"func":1
},
{
"ref":"ida_ida.inf_get_cc",
"url":18,
"doc":"inf_get_cc(out) -> bool @param out: compiler_info_t  ",
"func":1
},
{
"ref":"ida_ida.inf_set_cc",
"url":18,
"doc":"inf_set_cc(_v) -> bool @param _v: compiler_info_t const &",
"func":1
},
{
"ref":"ida_ida.inf_set_privrange",
"url":18,
"doc":"inf_set_privrange(_v) -> bool @param _v: range_t const &",
"func":1
},
{
"ref":"ida_ida.inf_get_privrange",
"url":18,
"doc":"inf_get_privrange(out) -> bool @param out: range_t  inf_get_privrange() -> range_t",
"func":1
},
{
"ref":"ida_ida.inf_get_af_low",
"url":18,
"doc":"inf_get_af_low() -> ushort Get/set low/high 16bit halves of inf.af.",
"func":1
},
{
"ref":"ida_ida.inf_set_af_low",
"url":18,
"doc":"inf_set_af_low(saf) @param saf: ushort",
"func":1
},
{
"ref":"ida_ida.inf_get_af_high",
"url":18,
"doc":"inf_get_af_high() -> ushort",
"func":1
},
{
"ref":"ida_ida.inf_set_af_high",
"url":18,
"doc":"inf_set_af_high(saf2) @param saf2: ushort",
"func":1
},
{
"ref":"ida_ida.inf_get_af2_low",
"url":18,
"doc":"inf_get_af2_low() -> ushort Get/set low 16bit half of inf.af2.",
"func":1
},
{
"ref":"ida_ida.inf_set_af2_low",
"url":18,
"doc":"inf_set_af2_low(saf) @param saf: ushort",
"func":1
},
{
"ref":"ida_ida.inf_get_pack_mode",
"url":18,
"doc":"inf_get_pack_mode() -> int",
"func":1
},
{
"ref":"ida_ida.inf_set_pack_mode",
"url":18,
"doc":"inf_set_pack_mode(pack_mode) -> int @param pack_mode: int",
"func":1
},
{
"ref":"ida_ida.inf_inc_database_change_count",
"url":18,
"doc":"inf_inc_database_change_count(cnt=1) @param cnt: int",
"func":1
},
{
"ref":"ida_ida.inf_get_demname_form",
"url":18,
"doc":"inf_get_demname_form() -> uchar Get DEMNAM_MASK bits of  demnames.",
"func":1
},
{
"ref":"ida_ida.inf_postinc_strlit_sernum",
"url":18,
"doc":"inf_postinc_strlit_sernum(cnt=1) -> uval_t @param cnt: uval_t",
"func":1
},
{
"ref":"ida_ida.inf_like_binary",
"url":18,
"doc":"inf_like_binary() -> bool",
"func":1
},
{
"ref":"ida_ida.UA_MAXOP",
"url":18,
"doc":"max number of operands allowed for an instruction"
},
{
"ref":"ida_ida.calc_default_idaplace_flags",
"url":18,
"doc":"calc_default_idaplace_flags() -> int Get default disassembly line options.",
"func":1
},
{
"ref":"ida_ida.to_ea",
"url":18,
"doc":"to_ea(reg_cs, reg_ip) -> ea_t Convert (sel,off) value to a linear address. @param reg_cs: (C : sel_t) @param reg_ip: (C : uval_t)",
"func":1
},
{
"ref":"ida_ida.get_dbctx_id",
"url":18,
"doc":"get_dbctx_id() -> ssize_t Get the current database context ID @return: the database context ID, or -1 if no current database",
"func":1
},
{
"ref":"ida_ida.get_dbctx_qty",
"url":18,
"doc":"get_dbctx_qty() -> size_t Get number of database contexts @return: number of database contexts",
"func":1
},
{
"ref":"ida_ida.switch_dbctx",
"url":18,
"doc":"switch_dbctx(idx) -> dbctx_t  Switch to the database with the provided context ID @param idx: (C : size_t) the index of the database to switch to @return: the current dbctx_t instance or nullptr",
"func":1
},
{
"ref":"ida_ida.is_database_busy",
"url":18,
"doc":"is_database_busy() -> bool Check if the database is busy (e.g. performing some critical operations and cannot be safely accessed)",
"func":1
},
{
"ref":"ida_ida.validate_idb",
"url":18,
"doc":"validate_idb(vld_flags=0) -> size_t Validate the database @param vld_flags: (C : uint32) combination of VLD_ constants @return: number of corrupted/fixed records",
"func":1
},
{
"ref":"ida_ida.VLD_AUTO_REPAIR",
"url":18,
"doc":"automatically repair the database"
},
{
"ref":"ida_ida.VLD_DIALOG",
"url":18,
"doc":"ask user to repair (this bit is mutually exclusive with VLD_AUTO_REPAIR)"
},
{
"ref":"ida_ida.VLD_SILENT",
"url":18,
"doc":"no messages to the output window"
},
{
"ref":"ida_ida.move_privrange",
"url":18,
"doc":"move_privrange(new_privrange_start) -> bool Move privrange to the specified address @param new_privrange_start: (C : ea_t) new start address of the privrange @return: success",
"func":1
},
{
"ref":"ida_ida.idbattr_valmap_t",
"url":18,
"doc":"Proxy of C idbattr_valmap_t class. __init__(self) -> idbattr_valmap_t"
},
{
"ref":"ida_ida.idbattr_valmap_t.thisown",
"url":18,
"doc":"The membership flag"
},
{
"ref":"ida_ida.idbattr_valmap_t.value",
"url":18,
"doc":"value"
},
{
"ref":"ida_ida.idbattr_valmap_t.valname",
"url":18,
"doc":"valname"
},
{
"ref":"ida_ida.idbattr_info_t",
"url":18,
"doc":"Proxy of C idbattr_info_t class. __init__(self, name, offset, width, bitmask=0, tag=0, idi_flags=0) -> idbattr_info_t @param name: char const  @param offset: uintptr_t @param width: size_t @param bitmask: uint64 @param tag: uchar @param idi_flags: uint"
},
{
"ref":"ida_ida.idbattr_info_t.thisown",
"url":18,
"doc":"The membership flag"
},
{
"ref":"ida_ida.idbattr_info_t.name",
"url":18,
"doc":"human-readable name"
},
{
"ref":"ida_ida.idbattr_info_t.offset",
"url":18,
"doc":"field position: offset within a structure (IDI_STRUCFLD) altval or supval index (IDI_NODEVAL) hashval name (IDI_ALTVAL/IDI_SUPVAL+IDI_HASH)"
},
{
"ref":"ida_ida.idbattr_info_t.width",
"url":18,
"doc":"field width in bytes"
},
{
"ref":"ida_ida.idbattr_info_t.bitmask",
"url":18,
"doc":"mask for bitfields (0-not bitfield)"
},
{
"ref":"ida_ida.idbattr_info_t.tag",
"url":18,
"doc":"tag of node value (if IDI_NODEVAL is set)"
},
{
"ref":"ida_ida.idbattr_info_t.vmap",
"url":18,
"doc":"array value=>name (terminated by empty element)"
},
{
"ref":"ida_ida.idbattr_info_t.individual_node",
"url":18,
"doc":"individual node name (nullptr - use default)"
},
{
"ref":"ida_ida.idbattr_info_t.idi_flags",
"url":18,
"doc":"idi_flags"
},
{
"ref":"ida_ida.idbattr_info_t.maxsize",
"url":18,
"doc":"max bytes reserved for storage in netnode"
},
{
"ref":"ida_ida.idbattr_info_t.is_node_altval",
"url":18,
"doc":"is_node_altval(self) -> bool",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.is_node_supval",
"url":18,
"doc":"is_node_supval(self) -> bool",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.is_node_valobj",
"url":18,
"doc":"is_node_valobj(self) -> bool",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.is_node_blob",
"url":18,
"doc":"is_node_blob(self) -> bool",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.is_node_var",
"url":18,
"doc":"is_node_var(self) -> bool",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.is_struc_field",
"url":18,
"doc":"is_struc_field(self) -> bool",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.is_cstr",
"url":18,
"doc":"is_cstr(self) -> bool",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.is_qstring",
"url":18,
"doc":"is_qstring(self) -> bool",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.is_bytearray",
"url":18,
"doc":"is_bytearray(self) -> bool",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.is_buf_var",
"url":18,
"doc":"is_buf_var(self) -> bool",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.is_decimal",
"url":18,
"doc":"is_decimal(self) -> bool",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.is_hexadecimal",
"url":18,
"doc":"is_hexadecimal(self) -> bool",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.is_readonly_var",
"url":18,
"doc":"is_readonly_var(self) -> bool",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.is_incremented",
"url":18,
"doc":"is_incremented(self) -> bool",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.is_val_mapped",
"url":18,
"doc":"is_val_mapped(self) -> bool",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.is_hash",
"url":18,
"doc":"is_hash(self) -> bool",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.use_hlpstruc",
"url":18,
"doc":"use_hlpstruc(self) -> bool",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.is_bitmap",
"url":18,
"doc":"is_bitmap(self) -> bool",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.is_onoff",
"url":18,
"doc":"is_onoff(self) -> bool",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.is_scalar_var",
"url":18,
"doc":"is_scalar_var(self) -> bool",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.is_bitfield",
"url":18,
"doc":"is_bitfield(self) -> bool",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.is_boolean",
"url":18,
"doc":"is_boolean(self) -> bool",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.has_individual_node",
"url":18,
"doc":"has_individual_node(self) -> bool",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.str_true",
"url":18,
"doc":"str_true(self) -> char const  ",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.str_false",
"url":18,
"doc":"str_false(self) -> char const  ",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.ridx",
"url":18,
"doc":"ridx(self) -> size_t",
"func":1
},
{
"ref":"ida_ida.idbattr_info_t.hashname",
"url":18,
"doc":"hashname(self) -> char const  ",
"func":1
},
{
"ref":"ida_ida.IDI_STRUCFLD",
"url":18,
"doc":"structure field (opposite to IDI_NODEVAL)"
},
{
"ref":"ida_ida.IDI_ALTVAL",
"url":18,
"doc":"netnode: altval"
},
{
"ref":"ida_ida.IDI_SUPVAL",
"url":18,
"doc":"netnode: supval"
},
{
"ref":"ida_ida.IDI_VALOBJ",
"url":18,
"doc":"netnode: valobj"
},
{
"ref":"ida_ida.IDI_BLOB",
"url":18,
"doc":"netnode: blob"
},
{
"ref":"ida_ida.IDI_SCALAR",
"url":18,
"doc":"scalar value (default)"
},
{
"ref":"ida_ida.IDI_CSTR",
"url":18,
"doc":"string"
},
{
"ref":"ida_ida.IDI_QSTRING",
"url":18,
"doc":"qstring"
},
{
"ref":"ida_ida.IDI_BYTEARRAY",
"url":18,
"doc":"byte array: binary representation"
},
{
"ref":"ida_ida.IDI_EA_HEX",
"url":18,
"doc":"default representation: hex or \"BADADDR\""
},
{
"ref":"ida_ida.IDI_DEC",
"url":18,
"doc":"show as decimal"
},
{
"ref":"ida_ida.IDI_HEX",
"url":18,
"doc":"show as hexadecimal"
},
{
"ref":"ida_ida.IDI_INC",
"url":18,
"doc":"stored value is incremented (scalars only)"
},
{
"ref":"ida_ida.IDI_MAP_VAL",
"url":18,
"doc":"apply ea2node() to value"
},
{
"ref":"ida_ida.IDI_HASH",
"url":18,
"doc":"hashed node field, hash name in offset"
},
{
"ref":"ida_ida.IDI_HLPSTRUC",
"url":18,
"doc":"call helper for pointer to structure"
},
{
"ref":"ida_ida.IDI_READONLY",
"url":18,
"doc":"read-only field (cannot be modified)"
},
{
"ref":"ida_ida.IDI_BITMAP",
"url":18,
"doc":"bitmap field: interpret bitmask as bit number"
},
{
"ref":"ida_ida.IDI_ONOFF",
"url":18,
"doc":"show boolean as on/off (not true/false)"
},
{
"ref":"ida_ida.IDI_NOMERGE",
"url":18,
"doc":"field should not be merged as part of INF"
},
{
"ref":"ida_ida.idainfo_big_arg_align",
"url":18,
"doc":"inf_big_arg_align(cc) -> bool @param cc: cm_t inf_big_arg_align() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_gen_null",
"url":18,
"doc":"inf_gen_null() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_set_gen_null",
"url":18,
"doc":"inf_set_gen_null(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.idainfo_gen_lzero",
"url":18,
"doc":"inf_gen_lzero() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_set_gen_lzero",
"url":18,
"doc":"inf_set_gen_lzero(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.idainfo_gen_tryblks",
"url":18,
"doc":"inf_gen_tryblks() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_set_gen_tryblks",
"url":18,
"doc":"inf_set_gen_tryblks(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.idainfo_get_demname_form",
"url":18,
"doc":"inf_get_demname_form() -> uchar Get DEMNAM_MASK bits of  demnames.",
"func":1
},
{
"ref":"ida_ida.idainfo_get_pack_mode",
"url":18,
"doc":"inf_get_pack_mode() -> int",
"func":1
},
{
"ref":"ida_ida.idainfo_set_pack_mode",
"url":18,
"doc":"inf_set_pack_mode(pack_mode) -> int @param pack_mode: int",
"func":1
},
{
"ref":"ida_ida.idainfo_is_32bit",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo_is_64bit",
"url":18,
"doc":"inf_is_64bit() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_set_64bit",
"url":18,
"doc":"inf_set_64bit(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.idainfo_is_auto_enabled",
"url":18,
"doc":"inf_is_auto_enabled() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_set_auto_enabled",
"url":18,
"doc":"inf_set_auto_enabled(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.idainfo_is_be",
"url":18,
"doc":"inf_is_be() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_set_be",
"url":18,
"doc":"inf_set_be(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.idainfo_is_dll",
"url":18,
"doc":"inf_is_dll() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_is_flat_off32",
"url":18,
"doc":"inf_is_flat_off32() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_is_graph_view",
"url":18,
"doc":"inf_is_graph_view() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_set_graph_view",
"url":18,
"doc":"inf_set_graph_view(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.idainfo_is_hard_float",
"url":18,
"doc":"inf_is_hard_float() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_is_kernel_mode",
"url":18,
"doc":"inf_is_kernel_mode() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_is_mem_aligned4",
"url":18,
"doc":"inf_is_mem_aligned4() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_is_snapshot",
"url":18,
"doc":"inf_is_snapshot() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_is_wide_high_byte_first",
"url":18,
"doc":"inf_is_wide_high_byte_first() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_set_wide_high_byte_first",
"url":18,
"doc":"inf_set_wide_high_byte_first(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.idainfo_like_binary",
"url":18,
"doc":"inf_like_binary() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_line_pref_with_seg",
"url":18,
"doc":"inf_line_pref_with_seg() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_set_line_pref_with_seg",
"url":18,
"doc":"inf_set_line_pref_with_seg(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.idainfo_show_auto",
"url":18,
"doc":"inf_show_auto() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_set_show_auto",
"url":18,
"doc":"inf_set_show_auto(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.idainfo_show_line_pref",
"url":18,
"doc":"inf_show_line_pref() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_set_show_line_pref",
"url":18,
"doc":"inf_set_show_line_pref(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.idainfo_show_void",
"url":18,
"doc":"inf_show_void() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_set_show_void",
"url":18,
"doc":"inf_set_show_void(_v=True) -> bool @param _v: bool",
"func":1
},
{
"ref":"ida_ida.idainfo_loading_idc",
"url":18,
"doc":"inf_loading_idc() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_map_stkargs",
"url":18,
"doc":"inf_map_stkargs() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_pack_stkargs",
"url":18,
"doc":"inf_pack_stkargs(cc) -> bool @param cc: cm_t inf_pack_stkargs() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_readonly_idb",
"url":18,
"doc":"inf_readonly_idb() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_set_store_user_info",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.idainfo_stack_ldbl",
"url":18,
"doc":"inf_stack_ldbl() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_stack_varargs",
"url":18,
"doc":"inf_stack_varargs() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_use_allasm",
"url":18,
"doc":"inf_use_allasm() -> bool",
"func":1
},
{
"ref":"ida_ida.idainfo_use_gcc_layout",
"url":18,
"doc":"inf_use_gcc_layout() -> bool",
"func":1
},
{
"ref":"ida_ida.macros_enabled",
"url":18,
"doc":"inf_macros_enabled() -> bool",
"func":1
},
{
"ref":"ida_ida.should_create_stkvars",
"url":18,
"doc":"inf_should_create_stkvars() -> bool",
"func":1
},
{
"ref":"ida_ida.should_trace_sp",
"url":18,
"doc":"inf_should_trace_sp() -> bool",
"func":1
},
{
"ref":"ida_ida.show_all_comments",
"url":18,
"doc":"inf_show_all_comments() -> bool",
"func":1
},
{
"ref":"ida_ida.show_comments",
"url":18,
"doc":"",
"func":1
},
{
"ref":"ida_ida.show_repeatables",
"url":18,
"doc":"inf_show_repeatables() -> bool",
"func":1
},
{
"ref":"ida_ida.inf_get_comment",
"url":18,
"doc":"inf_get_cmt_indent() -> uchar",
"func":1
},
{
"ref":"ida_ida.inf_set_comment",
"url":18,
"doc":"inf_set_cmt_indent(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_ida.idainfo_comment_get",
"url":18,
"doc":"inf_get_cmt_indent() -> uchar",
"func":1
},
{
"ref":"ida_ida.idainfo_comment_set",
"url":18,
"doc":"inf_set_cmt_indent(_v) -> bool @param _v: uchar",
"func":1
},
{
"ref":"ida_hexrays",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.array_of_bitsets",
"url":19,
"doc":"Proxy of C qvector class. __init__(self) -> array_of_bitsets __init__(self, x) -> array_of_bitsets @param x: qvector const &"
},
{
"ref":"ida_hexrays.array_of_bitsets.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.array_of_bitsets.push_back",
"url":19,
"doc":"push_back(self, x) @param x: bitset_t const & push_back(self) -> bitset_t",
"func":1
},
{
"ref":"ida_hexrays.array_of_bitsets.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.array_of_bitsets.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.array_of_bitsets.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.array_of_bitsets.at",
"url":19,
"doc":"at(self, _idx) -> bitset_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_hexrays.array_of_bitsets.qclear",
"url":19,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.array_of_bitsets.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.array_of_bitsets.resize",
"url":19,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: bitset_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_hexrays.array_of_bitsets.grow",
"url":19,
"doc":"grow(self, x=bitset_t( @param x: bitset_t const &",
"func":1
},
{
"ref":"ida_hexrays.array_of_bitsets.capacity",
"url":19,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.array_of_bitsets.reserve",
"url":19,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_hexrays.array_of_bitsets.truncate",
"url":19,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_hexrays.array_of_bitsets.swap",
"url":19,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_hexrays.array_of_bitsets.extract",
"url":19,
"doc":"extract(self) -> bitset_t",
"func":1
},
{
"ref":"ida_hexrays.array_of_bitsets.inject",
"url":19,
"doc":"inject(self, s, len) @param s: bitset_t  @param len: size_t",
"func":1
},
{
"ref":"ida_hexrays.array_of_bitsets.begin",
"url":19,
"doc":"begin(self) -> bitset_t",
"func":1
},
{
"ref":"ida_hexrays.array_of_bitsets.end",
"url":19,
"doc":"end(self) -> bitset_t",
"func":1
},
{
"ref":"ida_hexrays.array_of_bitsets.insert",
"url":19,
"doc":"insert(self, it, x) -> bitset_t @param it: qvector  iterator @param x: bitset_t const &",
"func":1
},
{
"ref":"ida_hexrays.array_of_bitsets.erase",
"url":19,
"doc":"erase(self, it) -> bitset_t @param it: qvector  iterator erase(self, first, last) -> bitset_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_hexrays.array_of_bitsets.find",
"url":19,
"doc":"find(self, x) -> bitset_t @param x: bitset_t const &",
"func":1
},
{
"ref":"ida_hexrays.array_of_bitsets.has",
"url":19,
"doc":"has(self, x) -> bool @param x: bitset_t const &",
"func":1
},
{
"ref":"ida_hexrays.array_of_bitsets.add_unique",
"url":19,
"doc":"add_unique(self, x) -> bool @param x: bitset_t const &",
"func":1
},
{
"ref":"ida_hexrays.array_of_bitsets.front",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.array_of_bitsets.back",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.mopvec_t",
"url":19,
"doc":"Proxy of C qvector class. __init__(self) -> mopvec_t __init__(self, x) -> mopvec_t @param x: qvector const &"
},
{
"ref":"ida_hexrays.mopvec_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.mopvec_t.push_back",
"url":19,
"doc":"push_back(self, x) @param x: mop_t const & push_back(self) -> mop_t",
"func":1
},
{
"ref":"ida_hexrays.mopvec_t.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.mopvec_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.mopvec_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mopvec_t.at",
"url":19,
"doc":"at(self, _idx) -> mop_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_hexrays.mopvec_t.qclear",
"url":19,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.mopvec_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.mopvec_t.resize",
"url":19,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: mop_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_hexrays.mopvec_t.grow",
"url":19,
"doc":"grow(self, x=mop_t( @param x: mop_t const &",
"func":1
},
{
"ref":"ida_hexrays.mopvec_t.capacity",
"url":19,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.mopvec_t.reserve",
"url":19,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_hexrays.mopvec_t.truncate",
"url":19,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_hexrays.mopvec_t.swap",
"url":19,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_hexrays.mopvec_t.extract",
"url":19,
"doc":"extract(self) -> mop_t",
"func":1
},
{
"ref":"ida_hexrays.mopvec_t.inject",
"url":19,
"doc":"inject(self, s, len) @param s: mop_t  @param len: size_t",
"func":1
},
{
"ref":"ida_hexrays.mopvec_t.begin",
"url":19,
"doc":"begin(self) -> mop_t",
"func":1
},
{
"ref":"ida_hexrays.mopvec_t.end",
"url":19,
"doc":"end(self) -> mop_t",
"func":1
},
{
"ref":"ida_hexrays.mopvec_t.insert",
"url":19,
"doc":"insert(self, it, x) -> mop_t @param it: qvector  iterator @param x: mop_t const &",
"func":1
},
{
"ref":"ida_hexrays.mopvec_t.erase",
"url":19,
"doc":"erase(self, it) -> mop_t @param it: qvector  iterator erase(self, first, last) -> mop_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_hexrays.mopvec_t.find",
"url":19,
"doc":"find(self, x) -> mop_t @param x: mop_t const &",
"func":1
},
{
"ref":"ida_hexrays.mopvec_t.has",
"url":19,
"doc":"has(self, x) -> bool @param x: mop_t const &",
"func":1
},
{
"ref":"ida_hexrays.mopvec_t.add_unique",
"url":19,
"doc":"add_unique(self, x) -> bool @param x: mop_t const &",
"func":1
},
{
"ref":"ida_hexrays.mopvec_t.front",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.mopvec_t.back",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.mcallargs_t",
"url":19,
"doc":"Proxy of C qvector class. __init__(self) -> mcallargs_t __init__(self, x) -> mcallargs_t @param x: qvector const &"
},
{
"ref":"ida_hexrays.mcallargs_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.mcallargs_t.push_back",
"url":19,
"doc":"push_back(self, x) @param x: mcallarg_t const & push_back(self) -> mcallarg_t",
"func":1
},
{
"ref":"ida_hexrays.mcallargs_t.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.mcallargs_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.mcallargs_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mcallargs_t.at",
"url":19,
"doc":"at(self, _idx) -> mcallarg_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_hexrays.mcallargs_t.qclear",
"url":19,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.mcallargs_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.mcallargs_t.resize",
"url":19,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: mcallarg_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_hexrays.mcallargs_t.grow",
"url":19,
"doc":"grow(self, x=mcallarg_t( @param x: mcallarg_t const &",
"func":1
},
{
"ref":"ida_hexrays.mcallargs_t.capacity",
"url":19,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.mcallargs_t.reserve",
"url":19,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_hexrays.mcallargs_t.truncate",
"url":19,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_hexrays.mcallargs_t.swap",
"url":19,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_hexrays.mcallargs_t.extract",
"url":19,
"doc":"extract(self) -> mcallarg_t",
"func":1
},
{
"ref":"ida_hexrays.mcallargs_t.inject",
"url":19,
"doc":"inject(self, s, len) @param s: mcallarg_t  @param len: size_t",
"func":1
},
{
"ref":"ida_hexrays.mcallargs_t.begin",
"url":19,
"doc":"begin(self) -> mcallarg_t",
"func":1
},
{
"ref":"ida_hexrays.mcallargs_t.end",
"url":19,
"doc":"end(self) -> mcallarg_t",
"func":1
},
{
"ref":"ida_hexrays.mcallargs_t.insert",
"url":19,
"doc":"insert(self, it, x) -> mcallarg_t @param it: qvector  iterator @param x: mcallarg_t const &",
"func":1
},
{
"ref":"ida_hexrays.mcallargs_t.erase",
"url":19,
"doc":"erase(self, it) -> mcallarg_t @param it: qvector  iterator erase(self, first, last) -> mcallarg_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_hexrays.mcallargs_t.find",
"url":19,
"doc":"find(self, x) -> mcallarg_t @param x: mcallarg_t const &",
"func":1
},
{
"ref":"ida_hexrays.mcallargs_t.has",
"url":19,
"doc":"has(self, x) -> bool @param x: mcallarg_t const &",
"func":1
},
{
"ref":"ida_hexrays.mcallargs_t.add_unique",
"url":19,
"doc":"add_unique(self, x) -> bool @param x: mcallarg_t const &",
"func":1
},
{
"ref":"ida_hexrays.mcallargs_t.front",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.mcallargs_t.back",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.block_chains_vec_t",
"url":19,
"doc":"Proxy of C qvector class. __init__(self) -> block_chains_vec_t __init__(self, x) -> block_chains_vec_t @param x: qvector const &"
},
{
"ref":"ida_hexrays.block_chains_vec_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.block_chains_vec_t.push_back",
"url":19,
"doc":"push_back(self, x) @param x: block_chains_t const & push_back(self) -> block_chains_t",
"func":1
},
{
"ref":"ida_hexrays.block_chains_vec_t.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.block_chains_vec_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.block_chains_vec_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.block_chains_vec_t.at",
"url":19,
"doc":"at(self, _idx) -> block_chains_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_hexrays.block_chains_vec_t.qclear",
"url":19,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.block_chains_vec_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.block_chains_vec_t.resize",
"url":19,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: block_chains_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_hexrays.block_chains_vec_t.grow",
"url":19,
"doc":"grow(self, x=block_chains_t( @param x: block_chains_t const &",
"func":1
},
{
"ref":"ida_hexrays.block_chains_vec_t.capacity",
"url":19,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.block_chains_vec_t.reserve",
"url":19,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_hexrays.block_chains_vec_t.truncate",
"url":19,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_hexrays.block_chains_vec_t.swap",
"url":19,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_hexrays.block_chains_vec_t.extract",
"url":19,
"doc":"extract(self) -> block_chains_t",
"func":1
},
{
"ref":"ida_hexrays.block_chains_vec_t.inject",
"url":19,
"doc":"inject(self, s, len) @param s: block_chains_t  @param len: size_t",
"func":1
},
{
"ref":"ida_hexrays.block_chains_vec_t.begin",
"url":19,
"doc":"begin(self) -> block_chains_t",
"func":1
},
{
"ref":"ida_hexrays.block_chains_vec_t.end",
"url":19,
"doc":"end(self) -> block_chains_t",
"func":1
},
{
"ref":"ida_hexrays.block_chains_vec_t.insert",
"url":19,
"doc":"insert(self, it, x) -> block_chains_t @param it: qvector  iterator @param x: block_chains_t const &",
"func":1
},
{
"ref":"ida_hexrays.block_chains_vec_t.erase",
"url":19,
"doc":"erase(self, it) -> block_chains_t @param it: qvector  iterator erase(self, first, last) -> block_chains_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_hexrays.block_chains_vec_t.front",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.block_chains_vec_t.back",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_t",
"url":19,
"doc":"Proxy of C std map class. __init__(self) -> user_numforms_t"
},
{
"ref":"ida_hexrays.user_numforms_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.user_numforms_t.at",
"url":19,
"doc":"at(self, _Keyval) -> number_format_t @param _Keyval: operand_locator_t const &",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_t.size",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_t.keytype",
"url":19,
"doc":"Proxy of C operand_locator_t class."
},
{
"ref":"ida_hexrays.user_numforms_t.valuetype",
"url":19,
"doc":"Proxy of C number_format_t class."
},
{
"ref":"ida_hexrays.user_numforms_t.begin",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_t.end",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_t.first",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_t.second",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_t.next",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_t.find",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_t.insert",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_t.erase",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_t.clear",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_t.copy",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_t.get",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_t.iterkeys",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_t.itervalues",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_t.iteritems",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_t.keys",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_t.values",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_t.items",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_t.has_key",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_t.pop",
"url":19,
"doc":"Sets the value associated with the provided key.",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_t.popitem",
"url":19,
"doc":"Sets the value associated with the provided key.",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_t.setdefault",
"url":19,
"doc":"Sets the value associated with the provided key.",
"func":1
},
{
"ref":"ida_hexrays.lvar_mapping_t",
"url":19,
"doc":"Proxy of C std map class. __init__(self) -> lvar_mapping_t"
},
{
"ref":"ida_hexrays.lvar_mapping_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.lvar_mapping_t.at",
"url":19,
"doc":"at(self, _Keyval) -> lvar_locator_t @param _Keyval: lvar_locator_t const &",
"func":1
},
{
"ref":"ida_hexrays.lvar_mapping_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t",
"url":19,
"doc":"Proxy of C qvector class. __init__(self) -> hexwarns_t __init__(self, x) -> hexwarns_t @param x: qvector const &"
},
{
"ref":"ida_hexrays.hexwarns_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.hexwarns_t.push_back",
"url":19,
"doc":"push_back(self, x) @param x: hexwarn_t const & push_back(self) -> hexwarn_t",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t.at",
"url":19,
"doc":"__getitem__(self, i) -> hexwarn_t @param i: size_t",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t.qclear",
"url":19,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t.resize",
"url":19,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: hexwarn_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t.grow",
"url":19,
"doc":"grow(self, x=hexwarn_t( @param x: hexwarn_t const &",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t.capacity",
"url":19,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t.reserve",
"url":19,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t.truncate",
"url":19,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t.swap",
"url":19,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t.extract",
"url":19,
"doc":"extract(self) -> hexwarn_t",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t.inject",
"url":19,
"doc":"inject(self, s, len) @param s: hexwarn_t  @param len: size_t",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t.begin",
"url":19,
"doc":"begin(self) -> hexwarn_t",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t.end",
"url":19,
"doc":"end(self) -> hexwarn_t",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t.insert",
"url":19,
"doc":"insert(self, it, x) -> hexwarn_t @param it: qvector  iterator @param x: hexwarn_t const &",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t.erase",
"url":19,
"doc":"erase(self, it) -> hexwarn_t @param it: qvector  iterator erase(self, first, last) -> hexwarn_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t.find",
"url":19,
"doc":"find(self, x) -> hexwarn_t @param x: hexwarn_t const &",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t.has",
"url":19,
"doc":"has(self, x) -> bool @param x: hexwarn_t const &",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t.add_unique",
"url":19,
"doc":"add_unique(self, x) -> bool @param x: hexwarn_t const &",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t.front",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t.back",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.hexwarns_t.append",
"url":19,
"doc":"push_back(self, x) @param x: hexwarn_t const & push_back(self) -> hexwarn_t",
"func":1
},
{
"ref":"ida_hexrays.ctree_items_t",
"url":19,
"doc":"Proxy of C qvector class. __init__(self) -> ctree_items_t __init__(self, x) -> ctree_items_t @param x: qvector const &"
},
{
"ref":"ida_hexrays.ctree_items_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.ctree_items_t.push_back",
"url":19,
"doc":"push_back(self, x) @param x: citem_t  const & push_back(self) -> citem_t  &",
"func":1
},
{
"ref":"ida_hexrays.ctree_items_t.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.ctree_items_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.ctree_items_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.ctree_items_t.at",
"url":19,
"doc":"__getitem__(self, i) -> citem_t @param i: size_t",
"func":1
},
{
"ref":"ida_hexrays.ctree_items_t.qclear",
"url":19,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.ctree_items_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.ctree_items_t.resize",
"url":19,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: citem_t  const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_hexrays.ctree_items_t.capacity",
"url":19,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.ctree_items_t.reserve",
"url":19,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_hexrays.ctree_items_t.truncate",
"url":19,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_hexrays.ctree_items_t.swap",
"url":19,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_hexrays.ctree_items_t.extract",
"url":19,
"doc":"extract(self) -> citem_t  ",
"func":1
},
{
"ref":"ida_hexrays.ctree_items_t.inject",
"url":19,
"doc":"inject(self, s, len) @param s: citem_t  @param len: size_t",
"func":1
},
{
"ref":"ida_hexrays.ctree_items_t.begin",
"url":19,
"doc":"begin(self) -> qvector  iterator begin(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_hexrays.ctree_items_t.end",
"url":19,
"doc":"end(self) -> qvector  iterator end(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_hexrays.ctree_items_t.insert",
"url":19,
"doc":"insert(self, it, x) -> qvector  iterator @param it: qvector  iterator @param x: citem_t  const &",
"func":1
},
{
"ref":"ida_hexrays.ctree_items_t.erase",
"url":19,
"doc":"erase(self, it) -> qvector  iterator @param it: qvector  iterator erase(self, first, last) -> qvector  iterator @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_hexrays.ctree_items_t.find",
"url":19,
"doc":"find(self, x) -> qvector  iterator @param x: citem_t  const & find(self, x) -> qvector  const_iterator @param x: citem_t  const &",
"func":1
},
{
"ref":"ida_hexrays.ctree_items_t.has",
"url":19,
"doc":"has(self, x) -> bool @param x: citem_t  const &",
"func":1
},
{
"ref":"ida_hexrays.ctree_items_t.add_unique",
"url":19,
"doc":"add_unique(self, x) -> bool @param x: citem_t  const &",
"func":1
},
{
"ref":"ida_hexrays.ctree_items_t.front",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.ctree_items_t.back",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.ctree_items_t.append",
"url":19,
"doc":"push_back(self, x) @param x: citem_t  const & push_back(self) -> citem_t  &",
"func":1
},
{
"ref":"ida_hexrays.user_labels_t",
"url":19,
"doc":"Proxy of C std map class. __init__(self) -> user_labels_t"
},
{
"ref":"ida_hexrays.user_labels_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.user_labels_t.at",
"url":19,
"doc":"at(self, _Keyval) -> _qstring & @param _Keyval: int const &",
"func":1
},
{
"ref":"ida_hexrays.user_labels_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_t",
"url":19,
"doc":"Proxy of C std map class. __init__(self) -> user_cmts_t"
},
{
"ref":"ida_hexrays.user_cmts_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.user_cmts_t.at",
"url":19,
"doc":"at(self, _Keyval) -> citem_cmt_t @param _Keyval: treeloc_t const &",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_t.size",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_t.keytype",
"url":19,
"doc":"Proxy of C treeloc_t class."
},
{
"ref":"ida_hexrays.user_cmts_t.valuetype",
"url":19,
"doc":"Proxy of C citem_cmt_t class."
},
{
"ref":"ida_hexrays.user_cmts_t.begin",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_t.end",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_t.first",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_t.second",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_t.next",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_t.find",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_t.insert",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_t.erase",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_t.clear",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_t.copy",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_t.get",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_t.iterkeys",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_t.itervalues",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_t.iteritems",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_t.keys",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_t.values",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_t.items",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_t.has_key",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_t.pop",
"url":19,
"doc":"Sets the value associated with the provided key.",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_t.popitem",
"url":19,
"doc":"Sets the value associated with the provided key.",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_t.setdefault",
"url":19,
"doc":"Sets the value associated with the provided key.",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_t",
"url":19,
"doc":"Proxy of C std map class. __init__(self) -> user_iflags_t"
},
{
"ref":"ida_hexrays.user_iflags_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.user_iflags_t.at",
"url":19,
"doc":"at(self, _Keyval) -> int & @param _Keyval: citem_locator_t const &",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_t.size",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_t.keytype",
"url":19,
"doc":"Proxy of C citem_locator_t class."
},
{
"ref":"ida_hexrays.user_iflags_t.valuetype",
"url":19,
"doc":"int([x]) -> integer int(x, base=10) -> integer Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero. If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by '+' or '-' and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int('0b100', base=0) 4"
},
{
"ref":"ida_hexrays.user_iflags_t.begin",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_t.end",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_t.first",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_t.second",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_t.next",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_t.find",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_t.insert",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_t.erase",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_t.clear",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_t.copy",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_t.get",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_t.iterkeys",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_t.itervalues",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_t.iteritems",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_t.keys",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_t.values",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_t.items",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_t.has_key",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_t.pop",
"url":19,
"doc":"Sets the value associated with the provided key.",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_t.popitem",
"url":19,
"doc":"Sets the value associated with the provided key.",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_t.setdefault",
"url":19,
"doc":"Sets the value associated with the provided key.",
"func":1
},
{
"ref":"ida_hexrays.user_unions_t",
"url":19,
"doc":"Proxy of C std map class. __init__(self) -> user_unions_t"
},
{
"ref":"ida_hexrays.user_unions_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.user_unions_t.at",
"url":19,
"doc":"at(self, _Keyval) -> intvec_t @param _Keyval: unsigned long long const &",
"func":1
},
{
"ref":"ida_hexrays.user_unions_t.size",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_unions_t.keytype",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.user_unions_t.valuetype",
"url":19,
"doc":"Proxy of C qvector class."
},
{
"ref":"ida_hexrays.user_unions_t.begin",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_unions_t.end",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_unions_t.first",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_unions_t.second",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_unions_t.next",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_unions_t.find",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_unions_t.insert",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_unions_t.erase",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_unions_t.clear",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_unions_t.copy",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_unions_t.get",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_unions_t.iterkeys",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_unions_t.itervalues",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_unions_t.iteritems",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_unions_t.keys",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_unions_t.values",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_unions_t.items",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_unions_t.has_key",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.user_unions_t.pop",
"url":19,
"doc":"Sets the value associated with the provided key.",
"func":1
},
{
"ref":"ida_hexrays.user_unions_t.popitem",
"url":19,
"doc":"Sets the value associated with the provided key.",
"func":1
},
{
"ref":"ida_hexrays.user_unions_t.setdefault",
"url":19,
"doc":"Sets the value associated with the provided key.",
"func":1
},
{
"ref":"ida_hexrays.cinsnptrvec_t",
"url":19,
"doc":"Proxy of C qvector class. __init__(self) -> cinsnptrvec_t __init__(self, x) -> cinsnptrvec_t @param x: qvector const &"
},
{
"ref":"ida_hexrays.cinsnptrvec_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.cinsnptrvec_t.push_back",
"url":19,
"doc":"push_back(self, x) @param x: cinsn_t  const & push_back(self) -> cinsn_t  &",
"func":1
},
{
"ref":"ida_hexrays.cinsnptrvec_t.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.cinsnptrvec_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.cinsnptrvec_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.cinsnptrvec_t.at",
"url":19,
"doc":"__getitem__(self, i) -> cinsn_t @param i: size_t",
"func":1
},
{
"ref":"ida_hexrays.cinsnptrvec_t.qclear",
"url":19,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.cinsnptrvec_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.cinsnptrvec_t.resize",
"url":19,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: cinsn_t  const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_hexrays.cinsnptrvec_t.capacity",
"url":19,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.cinsnptrvec_t.reserve",
"url":19,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_hexrays.cinsnptrvec_t.truncate",
"url":19,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_hexrays.cinsnptrvec_t.swap",
"url":19,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_hexrays.cinsnptrvec_t.extract",
"url":19,
"doc":"extract(self) -> cinsn_t  ",
"func":1
},
{
"ref":"ida_hexrays.cinsnptrvec_t.inject",
"url":19,
"doc":"inject(self, s, len) @param s: cinsn_t  @param len: size_t",
"func":1
},
{
"ref":"ida_hexrays.cinsnptrvec_t.begin",
"url":19,
"doc":"begin(self) -> qvector  iterator begin(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_hexrays.cinsnptrvec_t.end",
"url":19,
"doc":"end(self) -> qvector  iterator end(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_hexrays.cinsnptrvec_t.insert",
"url":19,
"doc":"insert(self, it, x) -> qvector  iterator @param it: qvector  iterator @param x: cinsn_t  const &",
"func":1
},
{
"ref":"ida_hexrays.cinsnptrvec_t.erase",
"url":19,
"doc":"erase(self, it) -> qvector  iterator @param it: qvector  iterator erase(self, first, last) -> qvector  iterator @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_hexrays.cinsnptrvec_t.find",
"url":19,
"doc":"find(self, x) -> qvector  iterator @param x: cinsn_t  const & find(self, x) -> qvector  const_iterator @param x: cinsn_t  const &",
"func":1
},
{
"ref":"ida_hexrays.cinsnptrvec_t.has",
"url":19,
"doc":"has(self, x) -> bool @param x: cinsn_t  const &",
"func":1
},
{
"ref":"ida_hexrays.cinsnptrvec_t.add_unique",
"url":19,
"doc":"add_unique(self, x) -> bool @param x: cinsn_t  const &",
"func":1
},
{
"ref":"ida_hexrays.cinsnptrvec_t.front",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.cinsnptrvec_t.back",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.cinsnptrvec_t.append",
"url":19,
"doc":"push_back(self, x) @param x: cinsn_t  const & push_back(self) -> cinsn_t  &",
"func":1
},
{
"ref":"ida_hexrays.eamap_t",
"url":19,
"doc":"Proxy of C std map class. __init__(self) -> eamap_t"
},
{
"ref":"ida_hexrays.eamap_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.eamap_t.at",
"url":19,
"doc":"at(self, _Keyval) -> cinsnptrvec_t @param _Keyval: unsigned long long const &",
"func":1
},
{
"ref":"ida_hexrays.eamap_t.size",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.eamap_t.keytype",
"url":19,
"doc":"int([x]) -> integer int(x, base=10) -> integer Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero. If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by '+' or '-' and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int('0b100', base=0) 4"
},
{
"ref":"ida_hexrays.eamap_t.valuetype",
"url":19,
"doc":"Proxy of C qvector class."
},
{
"ref":"ida_hexrays.eamap_t.begin",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.eamap_t.end",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.eamap_t.first",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.eamap_t.second",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.eamap_t.next",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.eamap_t.find",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.eamap_t.insert",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.eamap_t.erase",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.eamap_t.clear",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.eamap_t.copy",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.eamap_t.get",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.eamap_t.iterkeys",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.eamap_t.itervalues",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.eamap_t.iteritems",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.eamap_t.keys",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.eamap_t.values",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.eamap_t.items",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.eamap_t.has_key",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.eamap_t.pop",
"url":19,
"doc":"Sets the value associated with the provided key.",
"func":1
},
{
"ref":"ida_hexrays.eamap_t.popitem",
"url":19,
"doc":"Sets the value associated with the provided key.",
"func":1
},
{
"ref":"ida_hexrays.eamap_t.setdefault",
"url":19,
"doc":"Sets the value associated with the provided key.",
"func":1
},
{
"ref":"ida_hexrays.boundaries_t",
"url":19,
"doc":"Proxy of C std map class. __init__(self) -> boundaries_t"
},
{
"ref":"ida_hexrays.boundaries_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.boundaries_t.at",
"url":19,
"doc":"at(self, _Keyval) -> rangeset_t @param _Keyval: cinsn_t  const &",
"func":1
},
{
"ref":"ida_hexrays.boundaries_t.size",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.boundaries_t.keytype",
"url":19,
"doc":"Proxy of C cinsn_t class."
},
{
"ref":"ida_hexrays.boundaries_t.valuetype",
"url":19,
"doc":"Proxy of C rangeset_t class."
},
{
"ref":"ida_hexrays.boundaries_t.begin",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.boundaries_t.end",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.boundaries_t.first",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.boundaries_t.second",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.boundaries_t.next",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.boundaries_t.find",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.boundaries_t.insert",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.boundaries_t.erase",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.boundaries_t.clear",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.boundaries_t.copy",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.boundaries_t.get",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.boundaries_t.iterkeys",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.boundaries_t.itervalues",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.boundaries_t.iteritems",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.boundaries_t.keys",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.boundaries_t.values",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.boundaries_t.items",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.boundaries_t.has_key",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.boundaries_t.pop",
"url":19,
"doc":"Sets the value associated with the provided key.",
"func":1
},
{
"ref":"ida_hexrays.boundaries_t.popitem",
"url":19,
"doc":"Sets the value associated with the provided key.",
"func":1
},
{
"ref":"ida_hexrays.boundaries_t.setdefault",
"url":19,
"doc":"Sets the value associated with the provided key.",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_second",
"url":19,
"doc":"user_iflags_second(p) -> int32 const & Get reference to the current map value. @param p: (C : user_iflags_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t",
"url":19,
"doc":"Proxy of C qrefcnt_t class. __init__(self, p) -> cfuncptr_t @param p: cfunc_t  __init__(self, r) -> cfuncptr_t @param r: qrefcnt_t const &"
},
{
"ref":"ida_hexrays.cfuncptr_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.cfuncptr_t.reset",
"url":19,
"doc":"reset(self)",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.entry_ea",
"url":19,
"doc":"entry_ea"
},
{
"ref":"ida_hexrays.cfuncptr_t.mba",
"url":19,
"doc":"mba"
},
{
"ref":"ida_hexrays.cfuncptr_t.body",
"url":19,
"doc":"body"
},
{
"ref":"ida_hexrays.cfuncptr_t.argidx",
"url":19,
"doc":"argidx"
},
{
"ref":"ida_hexrays.cfuncptr_t.maturity",
"url":19,
"doc":"maturity"
},
{
"ref":"ida_hexrays.cfuncptr_t.user_labels",
"url":19,
"doc":"user_labels"
},
{
"ref":"ida_hexrays.cfuncptr_t.user_cmts",
"url":19,
"doc":"user_cmts"
},
{
"ref":"ida_hexrays.cfuncptr_t.numforms",
"url":19,
"doc":"numforms"
},
{
"ref":"ida_hexrays.cfuncptr_t.user_iflags",
"url":19,
"doc":"user_iflags"
},
{
"ref":"ida_hexrays.cfuncptr_t.user_unions",
"url":19,
"doc":"user_unions"
},
{
"ref":"ida_hexrays.cfuncptr_t.refcnt",
"url":19,
"doc":"refcnt"
},
{
"ref":"ida_hexrays.cfuncptr_t.statebits",
"url":19,
"doc":"statebits"
},
{
"ref":"ida_hexrays.cfuncptr_t.hdrlines",
"url":19,
"doc":"hdrlines"
},
{
"ref":"ida_hexrays.cfuncptr_t.treeitems",
"url":19,
"doc":"treeitems"
},
{
"ref":"ida_hexrays.cfuncptr_t.release",
"url":19,
"doc":"release(self)",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.build_c_tree",
"url":19,
"doc":"build_c_tree(self)",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.verify",
"url":19,
"doc":"verify(self, aul, even_without_debugger) @param aul: enum allow_unused_labels_t @param even_without_debugger: bool",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.print_dcl",
"url":19,
"doc":"print_dcl(self)",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.print_func",
"url":19,
"doc":"print_func(self, vp) @param vp: vc_printer_t &",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.get_func_type",
"url":19,
"doc":"get_func_type(self, type) -> bool @param type: tinfo_t  ",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.get_lvars",
"url":19,
"doc":"get_lvars(self) -> lvars_t",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.get_stkoff_delta",
"url":19,
"doc":"get_stkoff_delta(self) -> sval_t",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.find_label",
"url":19,
"doc":"find_label(self, label) -> citem_t @param label: int",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.remove_unused_labels",
"url":19,
"doc":"remove_unused_labels(self)",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.get_user_cmt",
"url":19,
"doc":"get_user_cmt(self, loc, rt) -> char const  @param loc: treeloc_t const & @param rt: enum cmt_retrieval_type_t",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.set_user_cmt",
"url":19,
"doc":"set_user_cmt(self, loc, cmt) @param loc: treeloc_t const & @param cmt: char const  ",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.get_user_iflags",
"url":19,
"doc":"get_user_iflags(self, loc) -> int32 @param loc: citem_locator_t const &",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.set_user_iflags",
"url":19,
"doc":"set_user_iflags(self, loc, iflags) @param loc: citem_locator_t const & @param iflags: int32",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.has_orphan_cmts",
"url":19,
"doc":"has_orphan_cmts(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.del_orphan_cmts",
"url":19,
"doc":"del_orphan_cmts(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.get_user_union_selection",
"url":19,
"doc":"get_user_union_selection(self, ea, path) -> bool @param ea: ea_t @param path: intvec_t  ",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.set_user_union_selection",
"url":19,
"doc":"set_user_union_selection(self, ea, path) @param ea: ea_t @param path: intvec_t const &",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.save_user_labels",
"url":19,
"doc":"save_user_labels(self)",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.save_user_cmts",
"url":19,
"doc":"save_user_cmts(self)",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.save_user_numforms",
"url":19,
"doc":"save_user_numforms(self)",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.save_user_iflags",
"url":19,
"doc":"save_user_iflags(self)",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.save_user_unions",
"url":19,
"doc":"save_user_unions(self)",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.get_line_item",
"url":19,
"doc":"get_line_item(self, line, x, is_ctree_line, phead, pitem, ptail) -> bool @param line: char const  @param x: int @param is_ctree_line: bool @param phead: ctree_item_t  @param pitem: ctree_item_t  @param ptail: ctree_item_t  ",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.get_warnings",
"url":19,
"doc":"get_warnings(self) -> hexwarns_t",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.get_eamap",
"url":19,
"doc":"get_eamap(self) -> eamap_t",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.get_boundaries",
"url":19,
"doc":"get_boundaries(self) -> boundaries_t",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.get_pseudocode",
"url":19,
"doc":"get_pseudocode(self) -> strvec_t",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.refresh_func_ctext",
"url":19,
"doc":"refresh_func_ctext(self)",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.gather_derefs",
"url":19,
"doc":"gather_derefs(self, ci, udm=None) -> bool @param ci: ctree_item_t const & @param udm: udt_type_data_t  ",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.find_item_coords",
"url":19,
"doc":"find_item_coords(self, item, px, py) -> bool @param item: citem_t const  @param px: int  @param py: int  find_item_coords(self, item) -> (int, int), bool @param item: citem_t const  ",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.locked",
"url":19,
"doc":"locked(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.cfuncptr_t.type",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.cfuncptr_t.arguments",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.cfuncptr_t.lvars",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.cfuncptr_t.warnings",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.cfuncptr_t.pseudocode",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.cfuncptr_t.eamap",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.cfuncptr_t.boundaries",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.qvector_history_t",
"url":19,
"doc":"Proxy of C qvector class. __init__(self) -> qvector_history_t __init__(self, x) -> qvector_history_t @param x: qvector const &"
},
{
"ref":"ida_hexrays.qvector_history_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.qvector_history_t.push_back",
"url":19,
"doc":"push_back(self, x) @param x: history_item_t const & push_back(self) -> history_item_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_history_t.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.qvector_history_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_history_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.qvector_history_t.at",
"url":19,
"doc":"at(self, _idx) -> history_item_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_history_t.qclear",
"url":19,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.qvector_history_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.qvector_history_t.resize",
"url":19,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: history_item_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_history_t.grow",
"url":19,
"doc":"grow(self, x=history_item_t( @param x: history_item_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_history_t.capacity",
"url":19,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_history_t.reserve",
"url":19,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_history_t.truncate",
"url":19,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_hexrays.qvector_history_t.swap",
"url":19,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_hexrays.qvector_history_t.extract",
"url":19,
"doc":"extract(self) -> history_item_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_history_t.inject",
"url":19,
"doc":"inject(self, s, len) @param s: history_item_t  @param len: size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_history_t.begin",
"url":19,
"doc":"begin(self) -> history_item_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_history_t.end",
"url":19,
"doc":"end(self) -> history_item_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_history_t.insert",
"url":19,
"doc":"insert(self, it, x) -> history_item_t @param it: qvector  iterator @param x: history_item_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_history_t.erase",
"url":19,
"doc":"erase(self, it) -> history_item_t @param it: qvector  iterator erase(self, first, last) -> history_item_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_hexrays.qvector_history_t.find",
"url":19,
"doc":"find(self, x) -> history_item_t @param x: history_item_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_history_t.has",
"url":19,
"doc":"has(self, x) -> bool @param x: history_item_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_history_t.add_unique",
"url":19,
"doc":"add_unique(self, x) -> bool @param x: history_item_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_history_t.front",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.qvector_history_t.back",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.history_t",
"url":19,
"doc":"Proxy of C qstack class. __init__(self) -> history_t"
},
{
"ref":"ida_hexrays.history_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.history_t.pop",
"url":19,
"doc":"pop(self) -> history_item_t",
"func":1
},
{
"ref":"ida_hexrays.history_t.top",
"url":19,
"doc":"top(self) -> history_item_t",
"func":1
},
{
"ref":"ida_hexrays.history_t.push",
"url":19,
"doc":"push(self, v) @param v: history_item_t const &",
"func":1
},
{
"ref":"ida_hexrays.history_t.at",
"url":19,
"doc":"__getitem__(self, i) -> history_item_t @param i: size_t",
"func":1
},
{
"ref":"ida_hexrays.history_t.append",
"url":19,
"doc":"push_back(self, x) @param x: history_item_t const & push_back(self) -> history_item_t",
"func":1
},
{
"ref":"ida_hexrays.history_t.push_back",
"url":19,
"doc":"push_back(self, x) @param x: history_item_t const & push_back(self) -> history_item_t",
"func":1
},
{
"ref":"ida_hexrays.history_t.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.history_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.history_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.history_t.qclear",
"url":19,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.history_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.history_t.resize",
"url":19,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: history_item_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_hexrays.history_t.grow",
"url":19,
"doc":"grow(self, x=history_item_t( @param x: history_item_t const &",
"func":1
},
{
"ref":"ida_hexrays.history_t.capacity",
"url":19,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.history_t.reserve",
"url":19,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_hexrays.history_t.truncate",
"url":19,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_hexrays.history_t.swap",
"url":19,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_hexrays.history_t.extract",
"url":19,
"doc":"extract(self) -> history_item_t",
"func":1
},
{
"ref":"ida_hexrays.history_t.inject",
"url":19,
"doc":"inject(self, s, len) @param s: history_item_t  @param len: size_t",
"func":1
},
{
"ref":"ida_hexrays.history_t.begin",
"url":19,
"doc":"begin(self) -> history_item_t",
"func":1
},
{
"ref":"ida_hexrays.history_t.end",
"url":19,
"doc":"end(self) -> history_item_t",
"func":1
},
{
"ref":"ida_hexrays.history_t.insert",
"url":19,
"doc":"insert(self, it, x) -> history_item_t @param it: qvector  iterator @param x: history_item_t const &",
"func":1
},
{
"ref":"ida_hexrays.history_t.erase",
"url":19,
"doc":"erase(self, it) -> history_item_t @param it: qvector  iterator erase(self, first, last) -> history_item_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_hexrays.history_t.find",
"url":19,
"doc":"find(self, x) -> history_item_t @param x: history_item_t const &",
"func":1
},
{
"ref":"ida_hexrays.history_t.has",
"url":19,
"doc":"has(self, x) -> bool @param x: history_item_t const &",
"func":1
},
{
"ref":"ida_hexrays.history_t.add_unique",
"url":19,
"doc":"add_unique(self, x) -> bool @param x: history_item_t const &",
"func":1
},
{
"ref":"ida_hexrays.cinsn_list_t_iterator",
"url":19,
"doc":"Proxy of C cinsn_list_t_iterator class. __init__(self) -> cinsn_list_t_iterator"
},
{
"ref":"ida_hexrays.cinsn_list_t_iterator.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.cinsn_list_t_iterator.cur",
"url":19,
"doc":"cur"
},
{
"ref":"ida_hexrays.cinsn_list_t_iterator.next",
"url":19,
"doc":"__next__(self)",
"func":1
},
{
"ref":"ida_hexrays.cinsn_list_t",
"url":19,
"doc":"Proxy of C qlist class. __init__(self) -> cinsn_list_t __init__(self, x) -> cinsn_list_t @param x: qlist const &"
},
{
"ref":"ida_hexrays.cinsn_list_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.cinsn_list_t.swap",
"url":19,
"doc":"swap(self, x) @param x: qlist &",
"func":1
},
{
"ref":"ida_hexrays.cinsn_list_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.cinsn_list_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.cinsn_list_t.front",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.cinsn_list_t.back",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.cinsn_list_t.rbegin",
"url":19,
"doc":"rbegin(self) -> qlist  reverse_iterator rbegin(self) -> qlist  const_reverse_iterator",
"func":1
},
{
"ref":"ida_hexrays.cinsn_list_t.rend",
"url":19,
"doc":"rend(self) -> qlist  reverse_iterator rend(self) -> qlist  const_reverse_iterator",
"func":1
},
{
"ref":"ida_hexrays.cinsn_list_t.push_front",
"url":19,
"doc":"push_front(self, x) @param x: cinsn_t const &",
"func":1
},
{
"ref":"ida_hexrays.cinsn_list_t.push_back",
"url":19,
"doc":"push_back(self, x) @param x: cinsn_t const & push_back(self) -> cinsn_t",
"func":1
},
{
"ref":"ida_hexrays.cinsn_list_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.cinsn_list_t.pop_front",
"url":19,
"doc":"pop_front(self)",
"func":1
},
{
"ref":"ida_hexrays.cinsn_list_t.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.cinsn_list_t.splice",
"url":19,
"doc":"splice(self, pos, other, first, last) @param pos: qlist  iterator @param other: qlist & @param first: qlist  iterator @param last: qlist  iterator",
"func":1
},
{
"ref":"ida_hexrays.cinsn_list_t.remove",
"url":19,
"doc":"remove(self, v) -> bool @param v: cinsn_t const &",
"func":1
},
{
"ref":"ida_hexrays.cinsn_list_t.find",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.cinsn_list_t.index",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.cinsn_list_t.at",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.cinsn_list_t.begin",
"url":19,
"doc":"begin(self) -> cinsn_list_t_iterator",
"func":1
},
{
"ref":"ida_hexrays.cinsn_list_t.end",
"url":19,
"doc":"end(self) -> cinsn_list_t_iterator",
"func":1
},
{
"ref":"ida_hexrays.cinsn_list_t.insert",
"url":19,
"doc":"insert(self, i, v) @param i: size_t @param v: cinsn_t const & insert(self, p, x) -> cinsn_list_t_iterator @param p: cinsn_list_t_iterator @param x: cinsn_t const &",
"func":1
},
{
"ref":"ida_hexrays.cinsn_list_t.erase",
"url":19,
"doc":"erase(self, p) @param p: cinsn_list_t_iterator",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t",
"url":19,
"doc":"Proxy of C qvector class. __init__(self) -> qvector_lvar_t __init__(self, x) -> qvector_lvar_t @param x: qvector const &"
},
{
"ref":"ida_hexrays.qvector_lvar_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.qvector_lvar_t.push_back",
"url":19,
"doc":"push_back(self, x) @param x: lvar_t const & push_back(self) -> lvar_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t.at",
"url":19,
"doc":"__getitem__(self, i) -> lvar_t @param i: size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t.qclear",
"url":19,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t.resize",
"url":19,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: lvar_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t.grow",
"url":19,
"doc":"grow(self, x=lvar_t( @param x: lvar_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t.capacity",
"url":19,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t.reserve",
"url":19,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t.truncate",
"url":19,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t.swap",
"url":19,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t.extract",
"url":19,
"doc":"extract(self) -> lvar_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t.inject",
"url":19,
"doc":"inject(self, s, len) @param s: lvar_t  @param len: size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t.begin",
"url":19,
"doc":"begin(self) -> lvar_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t.end",
"url":19,
"doc":"end(self) -> lvar_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t.insert",
"url":19,
"doc":"insert(self, it, x) -> lvar_t @param it: qvector  iterator @param x: lvar_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t.erase",
"url":19,
"doc":"erase(self, it) -> lvar_t @param it: qvector  iterator erase(self, first, last) -> lvar_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t.find",
"url":19,
"doc":"find(self, x) -> lvar_t @param x: lvar_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t.has",
"url":19,
"doc":"has(self, x) -> bool @param x: lvar_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t.add_unique",
"url":19,
"doc":"add_unique(self, x) -> bool @param x: lvar_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t.front",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t.back",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.qvector_lvar_t.append",
"url":19,
"doc":"push_back(self, x) @param x: lvar_t const & push_back(self) -> lvar_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t",
"url":19,
"doc":"Proxy of C qvector class. __init__(self) -> qvector_carg_t __init__(self, x) -> qvector_carg_t @param x: qvector const &"
},
{
"ref":"ida_hexrays.qvector_carg_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.qvector_carg_t.push_back",
"url":19,
"doc":"push_back(self, x) @param x: carg_t const & push_back(self) -> carg_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t.at",
"url":19,
"doc":"__getitem__(self, i) -> carg_t @param i: size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t.qclear",
"url":19,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t.resize",
"url":19,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: carg_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t.grow",
"url":19,
"doc":"grow(self, x=carg_t( @param x: carg_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t.capacity",
"url":19,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t.reserve",
"url":19,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t.truncate",
"url":19,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t.swap",
"url":19,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t.extract",
"url":19,
"doc":"extract(self) -> carg_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t.inject",
"url":19,
"doc":"inject(self, s, len) @param s: carg_t  @param len: size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t.begin",
"url":19,
"doc":"begin(self) -> carg_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t.end",
"url":19,
"doc":"end(self) -> carg_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t.insert",
"url":19,
"doc":"insert(self, it, x) -> carg_t @param it: qvector  iterator @param x: carg_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t.erase",
"url":19,
"doc":"erase(self, it) -> carg_t @param it: qvector  iterator erase(self, first, last) -> carg_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t.find",
"url":19,
"doc":"find(self, x) -> carg_t @param x: carg_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t.has",
"url":19,
"doc":"has(self, x) -> bool @param x: carg_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t.add_unique",
"url":19,
"doc":"add_unique(self, x) -> bool @param x: carg_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t.front",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t.back",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.qvector_carg_t.append",
"url":19,
"doc":"push_back(self, x) @param x: carg_t const & push_back(self) -> carg_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t",
"url":19,
"doc":"Proxy of C qvector class. __init__(self) -> qvector_ccase_t __init__(self, x) -> qvector_ccase_t @param x: qvector const &"
},
{
"ref":"ida_hexrays.qvector_ccase_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.qvector_ccase_t.push_back",
"url":19,
"doc":"push_back(self, x) @param x: ccase_t const & push_back(self) -> ccase_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t.at",
"url":19,
"doc":"__getitem__(self, i) -> ccase_t @param i: size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t.qclear",
"url":19,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t.resize",
"url":19,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: ccase_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t.grow",
"url":19,
"doc":"grow(self, x=ccase_t( @param x: ccase_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t.capacity",
"url":19,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t.reserve",
"url":19,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t.truncate",
"url":19,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t.swap",
"url":19,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t.extract",
"url":19,
"doc":"extract(self) -> ccase_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t.inject",
"url":19,
"doc":"inject(self, s, len) @param s: ccase_t  @param len: size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t.begin",
"url":19,
"doc":"begin(self) -> ccase_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t.end",
"url":19,
"doc":"end(self) -> ccase_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t.insert",
"url":19,
"doc":"insert(self, it, x) -> ccase_t @param it: qvector  iterator @param x: ccase_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t.erase",
"url":19,
"doc":"erase(self, it) -> ccase_t @param it: qvector  iterator erase(self, first, last) -> ccase_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t.find",
"url":19,
"doc":"find(self, x) -> ccase_t @param x: ccase_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t.has",
"url":19,
"doc":"has(self, x) -> bool @param x: ccase_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t.add_unique",
"url":19,
"doc":"add_unique(self, x) -> bool @param x: ccase_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t.front",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t.back",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccase_t.append",
"url":19,
"doc":"push_back(self, x) @param x: ccase_t const & push_back(self) -> ccase_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_catchexprs_t",
"url":19,
"doc":"Proxy of C qvector class. __init__(self) -> qvector_catchexprs_t __init__(self, x) -> qvector_catchexprs_t @param x: qvector const &"
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.push_back",
"url":19,
"doc":"push_back(self, x) @param x: catchexpr_t const & push_back(self) -> catchexpr_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.at",
"url":19,
"doc":"at(self, _idx) -> catchexpr_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.qclear",
"url":19,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.resize",
"url":19,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: catchexpr_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.grow",
"url":19,
"doc":"grow(self, x=catchexpr_t( @param x: catchexpr_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.capacity",
"url":19,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.reserve",
"url":19,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.truncate",
"url":19,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.swap",
"url":19,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.extract",
"url":19,
"doc":"extract(self) -> catchexpr_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.inject",
"url":19,
"doc":"inject(self, s, len) @param s: catchexpr_t  @param len: size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.begin",
"url":19,
"doc":"begin(self) -> catchexpr_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.end",
"url":19,
"doc":"end(self) -> catchexpr_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.insert",
"url":19,
"doc":"insert(self, it, x) -> catchexpr_t @param it: qvector  iterator @param x: catchexpr_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.erase",
"url":19,
"doc":"erase(self, it) -> catchexpr_t @param it: qvector  iterator erase(self, first, last) -> catchexpr_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.find",
"url":19,
"doc":"find(self, x) -> catchexpr_t @param x: catchexpr_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.has",
"url":19,
"doc":"has(self, x) -> bool @param x: catchexpr_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.add_unique",
"url":19,
"doc":"add_unique(self, x) -> bool @param x: catchexpr_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.front",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.qvector_catchexprs_t.back",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t",
"url":19,
"doc":"Proxy of C qvector class. __init__(self) -> qvector_ccatchvec_t __init__(self, x) -> qvector_ccatchvec_t @param x: qvector const &"
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.push_back",
"url":19,
"doc":"push_back(self, x) @param x: ccatch_t const & push_back(self) -> ccatch_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.at",
"url":19,
"doc":"at(self, _idx) -> ccatch_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.qclear",
"url":19,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.resize",
"url":19,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: ccatch_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.grow",
"url":19,
"doc":"grow(self, x=ccatch_t( @param x: ccatch_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.capacity",
"url":19,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.reserve",
"url":19,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.truncate",
"url":19,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.swap",
"url":19,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.extract",
"url":19,
"doc":"extract(self) -> ccatch_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.inject",
"url":19,
"doc":"inject(self, s, len) @param s: ccatch_t  @param len: size_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.begin",
"url":19,
"doc":"begin(self) -> ccatch_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.end",
"url":19,
"doc":"end(self) -> ccatch_t",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.insert",
"url":19,
"doc":"insert(self, it, x) -> ccatch_t @param it: qvector  iterator @param x: ccatch_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.erase",
"url":19,
"doc":"erase(self, it) -> ccatch_t @param it: qvector  iterator erase(self, first, last) -> ccatch_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.find",
"url":19,
"doc":"find(self, x) -> ccatch_t @param x: ccatch_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.has",
"url":19,
"doc":"has(self, x) -> bool @param x: ccatch_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.add_unique",
"url":19,
"doc":"add_unique(self, x) -> bool @param x: ccatch_t const &",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.front",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.qvector_ccatchvec_t.back",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.cblock_posvec_t",
"url":19,
"doc":"Proxy of C qvector class. __init__(self) -> cblock_posvec_t __init__(self, x) -> cblock_posvec_t @param x: qvector const &"
},
{
"ref":"ida_hexrays.cblock_posvec_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.cblock_posvec_t.push_back",
"url":19,
"doc":"push_back(self, x) @param x: cblock_pos_t const & push_back(self) -> cblock_pos_t",
"func":1
},
{
"ref":"ida_hexrays.cblock_posvec_t.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.cblock_posvec_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.cblock_posvec_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.cblock_posvec_t.at",
"url":19,
"doc":"at(self, _idx) -> cblock_pos_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_hexrays.cblock_posvec_t.qclear",
"url":19,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.cblock_posvec_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.cblock_posvec_t.resize",
"url":19,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: cblock_pos_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_hexrays.cblock_posvec_t.grow",
"url":19,
"doc":"grow(self, x=cblock_pos_t( @param x: cblock_pos_t const &",
"func":1
},
{
"ref":"ida_hexrays.cblock_posvec_t.capacity",
"url":19,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.cblock_posvec_t.reserve",
"url":19,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_hexrays.cblock_posvec_t.truncate",
"url":19,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_hexrays.cblock_posvec_t.swap",
"url":19,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_hexrays.cblock_posvec_t.extract",
"url":19,
"doc":"extract(self) -> cblock_pos_t",
"func":1
},
{
"ref":"ida_hexrays.cblock_posvec_t.inject",
"url":19,
"doc":"inject(self, s, len) @param s: cblock_pos_t  @param len: size_t",
"func":1
},
{
"ref":"ida_hexrays.cblock_posvec_t.begin",
"url":19,
"doc":"begin(self) -> cblock_pos_t",
"func":1
},
{
"ref":"ida_hexrays.cblock_posvec_t.end",
"url":19,
"doc":"end(self) -> cblock_pos_t",
"func":1
},
{
"ref":"ida_hexrays.cblock_posvec_t.insert",
"url":19,
"doc":"insert(self, it, x) -> cblock_pos_t @param it: qvector  iterator @param x: cblock_pos_t const &",
"func":1
},
{
"ref":"ida_hexrays.cblock_posvec_t.erase",
"url":19,
"doc":"erase(self, it) -> cblock_pos_t @param it: qvector  iterator erase(self, first, last) -> cblock_pos_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_hexrays.cblock_posvec_t.front",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.cblock_posvec_t.back",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t",
"url":19,
"doc":"Proxy of C qvector class. __init__(self) -> lvar_saved_infos_t __init__(self, x) -> lvar_saved_infos_t @param x: qvector const &"
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.push_back",
"url":19,
"doc":"push_back(self, x) @param x: lvar_saved_info_t const & push_back(self) -> lvar_saved_info_t",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.at",
"url":19,
"doc":"__getitem__(self, i) -> lvar_saved_info_t @param i: size_t",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.qclear",
"url":19,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.resize",
"url":19,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: lvar_saved_info_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.grow",
"url":19,
"doc":"grow(self, x=lvar_saved_info_t( @param x: lvar_saved_info_t const &",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.capacity",
"url":19,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.reserve",
"url":19,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.truncate",
"url":19,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.swap",
"url":19,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.extract",
"url":19,
"doc":"extract(self) -> lvar_saved_info_t",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.inject",
"url":19,
"doc":"inject(self, s, len) @param s: lvar_saved_info_t  @param len: size_t",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.begin",
"url":19,
"doc":"begin(self) -> lvar_saved_info_t",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.end",
"url":19,
"doc":"end(self) -> lvar_saved_info_t",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.insert",
"url":19,
"doc":"insert(self, it, x) -> lvar_saved_info_t @param it: qvector  iterator @param x: lvar_saved_info_t const &",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.erase",
"url":19,
"doc":"erase(self, it) -> lvar_saved_info_t @param it: qvector  iterator erase(self, first, last) -> lvar_saved_info_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.find",
"url":19,
"doc":"find(self, x) -> lvar_saved_info_t @param x: lvar_saved_info_t const &",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.has",
"url":19,
"doc":"has(self, x) -> bool @param x: lvar_saved_info_t const &",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.add_unique",
"url":19,
"doc":"add_unique(self, x) -> bool @param x: lvar_saved_info_t const &",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.front",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.back",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_infos_t.append",
"url":19,
"doc":"push_back(self, x) @param x: lvar_saved_info_t const & push_back(self) -> lvar_saved_info_t",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t",
"url":19,
"doc":"Proxy of C qvector class. __init__(self) -> ui_stroff_ops_t __init__(self, x) -> ui_stroff_ops_t @param x: qvector const &"
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.push_back",
"url":19,
"doc":"push_back(self, x) @param x: ui_stroff_op_t const & push_back(self) -> ui_stroff_op_t",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.at",
"url":19,
"doc":"__getitem__(self, i) -> ui_stroff_op_t @param i: size_t",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.qclear",
"url":19,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.resize",
"url":19,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: ui_stroff_op_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.grow",
"url":19,
"doc":"grow(self, x=ui_stroff_op_t( @param x: ui_stroff_op_t const &",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.capacity",
"url":19,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.reserve",
"url":19,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.truncate",
"url":19,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.swap",
"url":19,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.extract",
"url":19,
"doc":"extract(self) -> ui_stroff_op_t",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.inject",
"url":19,
"doc":"inject(self, s, len) @param s: ui_stroff_op_t  @param len: size_t",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.begin",
"url":19,
"doc":"begin(self) -> ui_stroff_op_t",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.end",
"url":19,
"doc":"end(self) -> ui_stroff_op_t",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.insert",
"url":19,
"doc":"insert(self, it, x) -> ui_stroff_op_t @param it: qvector  iterator @param x: ui_stroff_op_t const &",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.erase",
"url":19,
"doc":"erase(self, it) -> ui_stroff_op_t @param it: qvector  iterator erase(self, first, last) -> ui_stroff_op_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.find",
"url":19,
"doc":"find(self, x) -> ui_stroff_op_t @param x: ui_stroff_op_t const &",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.has",
"url":19,
"doc":"has(self, x) -> bool @param x: ui_stroff_op_t const &",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.add_unique",
"url":19,
"doc":"add_unique(self, x) -> bool @param x: ui_stroff_op_t const &",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.front",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.back",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.ui_stroff_ops_t.append",
"url":19,
"doc":"push_back(self, x) @param x: ui_stroff_op_t const & push_back(self) -> ui_stroff_op_t",
"func":1
},
{
"ref":"ida_hexrays.qswap",
"url":19,
"doc":"qswap(a, b) @param a: cinsn_t & @param b: cinsn_t &",
"func":1
},
{
"ref":"ida_hexrays.debug_hexrays_ctree",
"url":19,
"doc":"debug_hexrays_ctree(level, msg) @param level: int @param msg: char const  ",
"func":1
},
{
"ref":"ida_hexrays.init_hexrays_plugin",
"url":19,
"doc":"init_hexrays_plugin(flags=0) -> bool Check that your plugin is compatible with hex-rays decompiler. This function must be called before calling any other decompiler function. @param flags: (C : int) reserved, must be 0 @return: true if the decompiler exists and is compatible with your plugin",
"func":1
},
{
"ref":"ida_hexrays.get_widget_vdui",
"url":19,
"doc":"get_widget_vdui(f) -> vdui_t Get the vdui_t instance associated to the TWidget @param f: (C : TWidget  ) pointer to window @return: a vdui_t  , or nullptr",
"func":1
},
{
"ref":"ida_hexrays.boundaries_find",
"url":19,
"doc":"boundaries_find(map, key) -> boundaries_iterator_t Find the specified key in boundaries_t. @param map: (C : const boundaries_t  ) boundaries_t const  @param key: (C : const cinsn_t  &) cinsn_t const  ",
"func":1
},
{
"ref":"ida_hexrays.boundaries_insert",
"url":19,
"doc":"boundaries_insert(map, key, val) -> boundaries_iterator_t Insert new (cinsn_t  , rangeset_t) pair into boundaries_t. @param map: (C : boundaries_t  ) @param key: (C : const cinsn_t  &) cinsn_t const  @param val: (C : const rangeset_t &) rangeset_t const &",
"func":1
},
{
"ref":"ida_hexrays.term_hexrays_plugin",
"url":19,
"doc":"term_hexrays_plugin() Stop working with hex-rays decompiler.",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks",
"url":19,
"doc":"Proxy of C Hexrays_Hooks class. __init__(self, _flags=0, _hkcb_flags=0x0001) -> Hexrays_Hooks @param _flags: uint32 @param _hkcb_flags: uint32"
},
{
"ref":"ida_hexrays.Hexrays_Hooks.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.Hexrays_Hooks.hook",
"url":19,
"doc":"hook(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.unhook",
"url":19,
"doc":"unhook(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.flowchart",
"url":19,
"doc":"flowchart(self, fc, mba) -> int Flowchart has been generated. @param fc: (qflow_chart_t  ) @param mba: (mba_t  )",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.stkpnts",
"url":19,
"doc":"stkpnts(self, mba, _sps) -> int SP change points have been calculated. @param mba: (mba_t  ) @param _sps: stkpnts_t  @return: Microcode error codes code This event is generated for each inlined range as well.",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.prolog",
"url":19,
"doc":"prolog(self, mba, fc, reachable_blocks, decomp_flags) -> int Prolog analysis has been finished. @param mba: (mba_t  ) @param fc: (qflow_chart_t  ) @param reachable_blocks: (bitset_t  ) @param decomp_flags: (int) @return: Microcode error codes code This event is generated for each inlined range as well.",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.microcode",
"url":19,
"doc":"microcode(self, mba) -> int Microcode has been generated. @param mba: (mba_t  ) @return: Microcode error codes code",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.preoptimized",
"url":19,
"doc":"preoptimized(self, mba) -> int Microcode has been preoptimized. @param mba: (mba_t  ) @return: Microcode error codes code",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.locopt",
"url":19,
"doc":"locopt(self, mba) -> int Basic block level optimization has been finished. @param mba: (mba_t  ) @return: Microcode error codes code",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.prealloc",
"url":19,
"doc":"prealloc(self, mba) -> int Local variables: preallocation step begins. @param mba: (mba_t  ) This event may occur several times. Should return: 1 if modified microcode Negative values are Microcode error codes error codes",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.glbopt",
"url":19,
"doc":"glbopt(self, mba) -> int Global optimization has been finished. If microcode is modified, MERR_LOOP must be returned. It will cause a complete restart of the optimization. @param mba: (mba_t  ) @return: Microcode error codes code",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.pre_structural",
"url":19,
"doc":"pre_structural(self, ct, cfunc, g) -> int Structure analysis is starting. @param ct: (control_graph_t  ) in/out: control graph @param cfunc: (cfunc_t  ) in: the current function @param g: (const simple_graph_t  ) in: control flow graph @return: Microcode error codes code; MERR_BLOCK means that the analysis has been performed by a plugin",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.structural",
"url":19,
"doc":"structural(self, ct) -> int Structural analysis has been finished. @param ct: (control_graph_t  )",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.maturity",
"url":19,
"doc":"maturity(self, cfunc, new_maturity) -> int Ctree maturity level is being changed. @param cfunc: (cfunc_t  ) @param new_maturity: (ctree_maturity_t)",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.interr",
"url":19,
"doc":"interr(self, errcode) -> int Internal error has occurred. @param errcode: (int )",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.combine",
"url":19,
"doc":"combine(self, blk, insn) -> int Trying to combine instructions of basic block. @param blk: (mblock_t  ) @param insn: (minsn_t  ) Should return: 1 if combined the current instruction with a preceding one -1 if the instruction should not be combined 0 else",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.print_func",
"url":19,
"doc":"print_func(self, cfunc, vp) -> int Printing ctree and generating text. @param cfunc: (cfunc_t  ) @param vp: (vc_printer_t  ) Returns: 1 if text has been generated by the plugin It is forbidden to modify ctree at this event.",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.func_printed",
"url":19,
"doc":"func_printed(self, cfunc) -> int Function text has been generated. Plugins may modify the text in cfunc_t sv. The text uses regular color codes (see lines.hpp) COLOR_ADDR is used to store pointers to ctree items. @param cfunc: (cfunc_t  )",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.resolve_stkaddrs",
"url":19,
"doc":"resolve_stkaddrs(self, mba) -> int The optimizer is about to resolve stack addresses. @param mba: (mba_t  )",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.build_callinfo",
"url":19,
"doc":"build_callinfo(self, blk, type) -> PyObject  Analyzing a call instruction. @param blk: (mblock_t  ) blk->tail is the call. @param type: (tinfo_t  ) buffer for the output type.",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.callinfo_built",
"url":19,
"doc":"callinfo_built(self, blk) -> int A call instruction has been anallyzed. @param blk: (mblock_t  ) blk->tail is the call.",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.calls_done",
"url":19,
"doc":"calls_done(self, mba) -> int All calls have been analyzed. @param mba: (mba_t  ) This event is generated immediately after analyzing all calls, before any optimizitions, call unmerging and block merging.",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.begin_inlining",
"url":19,
"doc":"begin_inlining(self, cdg, decomp_flags) -> int Starting to inline outlined functions. @param cdg: (codegen_t  ) @param decomp_flags: (int) @return: Microcode error codes code This is an opportunity to inline other ranges.",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.inlining_func",
"url":19,
"doc":"inlining_func(self, cdg, blk, mbr) -> int A set of ranges is going to be inlined. @param cdg: (codegen_t  ) @param blk: (int) the block containing call/jump to inline @param mbr: (mba_ranges_t  ) the range to inline",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.inlined_func",
"url":19,
"doc":"inlined_func(self, cdg, blk, mbr, i1, i2) -> int A set of ranges got inlined. @param cdg: (codegen_t  ) @param blk: (int) the block containing call/jump to inline @param mbr: (mba_ranges_t  ) the range to inline @param i1: (int) blknum of the first inlined block @param i2: (int) blknum of the last inlined block (excluded)",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.collect_warnings",
"url":19,
"doc":"collect_warnings(self, warnings, cfunc) -> int Collect warning messages from plugins. These warnings will be displayed at the function header, after the user-defined comments. @param warnings: (qstrvec_t  ) @param cfunc: (cfunc_t  )",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.open_pseudocode",
"url":19,
"doc":"open_pseudocode(self, vu) -> int New pseudocode view has been opened. @param vu: (vdui_t  )",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.switch_pseudocode",
"url":19,
"doc":"switch_pseudocode(self, vu) -> int Existing pseudocode view has been reloaded with a new function. Its text has not been refreshed yet, only cfunc and mba pointers are ready. @param vu: (vdui_t  )",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.refresh_pseudocode",
"url":19,
"doc":"refresh_pseudocode(self, vu) -> int Existing pseudocode text has been refreshed. Adding/removing pseudocode lines is forbidden in this event. @param vu: (vdui_t  ) See also hxe_text_ready, which happens earlier",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.close_pseudocode",
"url":19,
"doc":"close_pseudocode(self, vu) -> int Pseudocode view is being closed. @param vu: (vdui_t  )",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.keyboard",
"url":19,
"doc":"keyboard(self, vu, key_code, shift_state) -> int Keyboard has been hit. @param vu: (vdui_t  ) @param key_code: (int) VK_ . @param shift_state: (int) Should return: 1 if the event has been handled",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.right_click",
"url":19,
"doc":"right_click(self, vu) -> int Mouse right click. Use hxe_populating_popup instead, in case you want to add items in the popup menu. @param vu: (vdui_t  )",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.double_click",
"url":19,
"doc":"double_click(self, vu, shift_state) -> int Mouse double click. @param vu: (vdui_t  ) @param shift_state: (int) Should return: 1 if the event has been handled",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.curpos",
"url":19,
"doc":"curpos(self, vu) -> int Current cursor position has been changed. (for example, by left-clicking or using keyboard) @param vu: (vdui_t  )",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.create_hint",
"url":19,
"doc":"create_hint(self, vu) -> PyObject  Create a hint for the current item. @see: ui_get_custom_viewer_hint @param vu: (vdui_t  ) @retval 0: continue collecting hints with other subscribers @retval 1: stop collecting hints",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.text_ready",
"url":19,
"doc":"text_ready(self, vu) -> int Decompiled text is ready. @param vu: (vdui_t  ) This event can be used to modify the output text (sv). Obsolete. Please use hxe_func_printed instead.",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.populating_popup",
"url":19,
"doc":"populating_popup(self, widget, popup_handle, vu) -> int Populating popup menu. We can add menu items now. @param widget: (TWidget  ) @param popup_handle: (TPopupMenu  ) @param vu: (vdui_t  )",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.lvar_name_changed",
"url":19,
"doc":"lvar_name_changed(self, vu, v, name, is_user_name) -> int Local variable got renamed. @param vu: (vdui_t  ) @param v: (lvar_t  ) @param name: (const char  ) @param is_user_name: (bool) Please note that it is possible to read/write user settings for lvars directly from the idb.",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.lvar_type_changed",
"url":19,
"doc":"lvar_type_changed(self, vu, v, tinfo) -> int Local variable type got changed. @param vu: (vdui_t  ) @param v: (lvar_t  ) @param tinfo: (const tinfo_t  ) Please note that it is possible to read/write user settings for lvars directly from the idb.",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.lvar_cmt_changed",
"url":19,
"doc":"lvar_cmt_changed(self, vu, v, cmt) -> int Local variable comment got changed. @param vu: (vdui_t  ) @param v: (lvar_t  ) @param cmt: (const char  ) Please note that it is possible to read/write user settings for lvars directly from the idb.",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.lvar_mapping_changed",
"url":19,
"doc":"lvar_mapping_changed(self, vu, frm, to) -> int Local variable mapping got changed. @param vu: (vdui_t  ) @param from: lvar_t  @param to: (lvar_t  ) Please note that it is possible to read/write user settings for lvars directly from the idb.",
"func":1
},
{
"ref":"ida_hexrays.Hexrays_Hooks.cmt_changed",
"url":19,
"doc":"cmt_changed(self, cfunc, loc, cmt) -> int Comment got changed. @param cfunc: (cfunc_t  ) @param loc: (const treeloc_t  ) @param cmt: (const char  )",
"func":1
},
{
"ref":"ida_hexrays.uval_ivl_t",
"url":19,
"doc":"Proxy of C ivl_tpl class. __init__(self, _off, _size) -> uval_ivl_t @param _off: unsigned long long @param _size: unsigned long long"
},
{
"ref":"ida_hexrays.uval_ivl_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.uval_ivl_t.off",
"url":19,
"doc":"off"
},
{
"ref":"ida_hexrays.uval_ivl_t.size",
"url":19,
"doc":"size"
},
{
"ref":"ida_hexrays.uval_ivl_t.valid",
"url":19,
"doc":"valid(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.uval_ivl_t.end",
"url":19,
"doc":"end(self) -> unsigned long long",
"func":1
},
{
"ref":"ida_hexrays.uval_ivl_t.last",
"url":19,
"doc":"last(self) -> unsigned long long",
"func":1
},
{
"ref":"ida_hexrays.uval_ivl_ivlset_t",
"url":19,
"doc":"Proxy of C ivlset_tpl class. __init__(self) -> uval_ivl_ivlset_t __init__(self, ivl) -> uval_ivl_ivlset_t @param ivl: ivl_t const &"
},
{
"ref":"ida_hexrays.uval_ivl_ivlset_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.uval_ivl_ivlset_t.swap",
"url":19,
"doc":"swap(self, r) @param r: ivlset_tpl &",
"func":1
},
{
"ref":"ida_hexrays.uval_ivl_ivlset_t.getivl",
"url":19,
"doc":"getivl(self, idx) -> ivl_t @param idx: int",
"func":1
},
{
"ref":"ida_hexrays.uval_ivl_ivlset_t.lastivl",
"url":19,
"doc":"lastivl(self) -> ivl_t",
"func":1
},
{
"ref":"ida_hexrays.uval_ivl_ivlset_t.nivls",
"url":19,
"doc":"nivls(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.uval_ivl_ivlset_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.uval_ivl_ivlset_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.uval_ivl_ivlset_t.qclear",
"url":19,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.uval_ivl_ivlset_t.all_values",
"url":19,
"doc":"all_values(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.uval_ivl_ivlset_t.set_all_values",
"url":19,
"doc":"set_all_values(self)",
"func":1
},
{
"ref":"ida_hexrays.uval_ivl_ivlset_t.single_value",
"url":19,
"doc":"single_value(self) -> bool single_value(self, v) -> bool @param v: unsigned long long",
"func":1
},
{
"ref":"ida_hexrays.uval_ivl_ivlset_t.begin",
"url":19,
"doc":"begin(self) -> ivlset_tpl  const_iterator begin(self) -> ivlset_tpl  iterator",
"func":1
},
{
"ref":"ida_hexrays.uval_ivl_ivlset_t.end",
"url":19,
"doc":"end(self) -> ivlset_tpl  const_iterator end(self) -> ivlset_tpl  iterator",
"func":1
},
{
"ref":"ida_hexrays.array_of_ivlsets",
"url":19,
"doc":"Proxy of C qvector class. __init__(self) -> array_of_ivlsets __init__(self, x) -> array_of_ivlsets @param x: qvector const &"
},
{
"ref":"ida_hexrays.array_of_ivlsets.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.array_of_ivlsets.push_back",
"url":19,
"doc":"push_back(self, x) @param x: ivlset_t const & push_back(self) -> ivlset_t",
"func":1
},
{
"ref":"ida_hexrays.array_of_ivlsets.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.array_of_ivlsets.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.array_of_ivlsets.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.array_of_ivlsets.at",
"url":19,
"doc":"at(self, _idx) -> ivlset_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_hexrays.array_of_ivlsets.qclear",
"url":19,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.array_of_ivlsets.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.array_of_ivlsets.resize",
"url":19,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: ivlset_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_hexrays.array_of_ivlsets.grow",
"url":19,
"doc":"grow(self, x=ivlset_t( @param x: ivlset_t const &",
"func":1
},
{
"ref":"ida_hexrays.array_of_ivlsets.capacity",
"url":19,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.array_of_ivlsets.reserve",
"url":19,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_hexrays.array_of_ivlsets.truncate",
"url":19,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_hexrays.array_of_ivlsets.swap",
"url":19,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_hexrays.array_of_ivlsets.extract",
"url":19,
"doc":"extract(self) -> ivlset_t",
"func":1
},
{
"ref":"ida_hexrays.array_of_ivlsets.inject",
"url":19,
"doc":"inject(self, s, len) @param s: ivlset_t  @param len: size_t",
"func":1
},
{
"ref":"ida_hexrays.array_of_ivlsets.begin",
"url":19,
"doc":"begin(self) -> ivlset_t",
"func":1
},
{
"ref":"ida_hexrays.array_of_ivlsets.end",
"url":19,
"doc":"end(self) -> ivlset_t",
"func":1
},
{
"ref":"ida_hexrays.array_of_ivlsets.insert",
"url":19,
"doc":"insert(self, it, x) -> ivlset_t @param it: qvector  iterator @param x: ivlset_t const &",
"func":1
},
{
"ref":"ida_hexrays.array_of_ivlsets.erase",
"url":19,
"doc":"erase(self, it) -> ivlset_t @param it: qvector  iterator erase(self, first, last) -> ivlset_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_hexrays.array_of_ivlsets.find",
"url":19,
"doc":"find(self, x) -> ivlset_t @param x: ivlset_t const &",
"func":1
},
{
"ref":"ida_hexrays.array_of_ivlsets.has",
"url":19,
"doc":"has(self, x) -> bool @param x: ivlset_t const &",
"func":1
},
{
"ref":"ida_hexrays.array_of_ivlsets.add_unique",
"url":19,
"doc":"add_unique(self, x) -> bool @param x: ivlset_t const &",
"func":1
},
{
"ref":"ida_hexrays.array_of_ivlsets.front",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.array_of_ivlsets.back",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.hexrays_alloc",
"url":19,
"doc":"hexrays_alloc(size) -> void  @param size: size_t",
"func":1
},
{
"ref":"ida_hexrays.hexrays_free",
"url":19,
"doc":"hexrays_free(ptr) @param ptr: void  ",
"func":1
},
{
"ref":"ida_hexrays.max_vlr_value",
"url":19,
"doc":"max_vlr_value(size) -> uvlr_t @param size: int",
"func":1
},
{
"ref":"ida_hexrays.min_vlr_svalue",
"url":19,
"doc":"min_vlr_svalue(size) -> uvlr_t @param size: int",
"func":1
},
{
"ref":"ida_hexrays.max_vlr_svalue",
"url":19,
"doc":"max_vlr_svalue(size) -> uvlr_t @param size: int",
"func":1
},
{
"ref":"ida_hexrays.is_unsigned_cmpop",
"url":19,
"doc":"is_unsigned_cmpop(cmpop) -> bool @param cmpop: enum cmpop_t",
"func":1
},
{
"ref":"ida_hexrays.is_signed_cmpop",
"url":19,
"doc":"is_signed_cmpop(cmpop) -> bool @param cmpop: enum cmpop_t",
"func":1
},
{
"ref":"ida_hexrays.is_cmpop_with_eq",
"url":19,
"doc":"is_cmpop_with_eq(cmpop) -> bool @param cmpop: enum cmpop_t",
"func":1
},
{
"ref":"ida_hexrays.is_cmpop_without_eq",
"url":19,
"doc":"is_cmpop_without_eq(cmpop) -> bool @param cmpop: enum cmpop_t",
"func":1
},
{
"ref":"ida_hexrays.valrng_t",
"url":19,
"doc":"Proxy of C valrng_t class. __init__(self, size_=MAX_VLR_SIZE) -> valrng_t @param size_: int __init__(self, r) -> valrng_t @param r: valrng_t const &"
},
{
"ref":"ida_hexrays.valrng_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.valrng_t.swap",
"url":19,
"doc":"swap(self, r) @param r: valrng_t &",
"func":1
},
{
"ref":"ida_hexrays.valrng_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: valrng_t const &",
"func":1
},
{
"ref":"ida_hexrays.valrng_t.set_none",
"url":19,
"doc":"set_none(self)",
"func":1
},
{
"ref":"ida_hexrays.valrng_t.set_all",
"url":19,
"doc":"set_all(self)",
"func":1
},
{
"ref":"ida_hexrays.valrng_t.set_unk",
"url":19,
"doc":"set_unk(self)",
"func":1
},
{
"ref":"ida_hexrays.valrng_t.set_eq",
"url":19,
"doc":"set_eq(self, v) @param v: uvlr_t",
"func":1
},
{
"ref":"ida_hexrays.valrng_t.set_cmp",
"url":19,
"doc":"set_cmp(self, cmp, _value) @param cmp: enum cmpop_t @param _value: uvlr_t",
"func":1
},
{
"ref":"ida_hexrays.valrng_t.reduce_size",
"url":19,
"doc":"reduce_size(self, new_size) -> bool @param new_size: int",
"func":1
},
{
"ref":"ida_hexrays.valrng_t.intersect_with",
"url":19,
"doc":"intersect_with(self, r) -> bool @param r: valrng_t const &",
"func":1
},
{
"ref":"ida_hexrays.valrng_t.unite_with",
"url":19,
"doc":"unite_with(self, r) -> bool @param r: valrng_t const &",
"func":1
},
{
"ref":"ida_hexrays.valrng_t.inverse",
"url":19,
"doc":"inverse(self)",
"func":1
},
{
"ref":"ida_hexrays.valrng_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.valrng_t.all_values",
"url":19,
"doc":"all_values(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.valrng_t.is_unknown",
"url":19,
"doc":"is_unknown(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.valrng_t.has",
"url":19,
"doc":"has(self, v) -> bool @param v: uvlr_t",
"func":1
},
{
"ref":"ida_hexrays.valrng_t.dstr",
"url":19,
"doc":"dstr(self) -> char const  ",
"func":1
},
{
"ref":"ida_hexrays.valrng_t.cvt_to_single_value",
"url":19,
"doc":"cvt_to_single_value(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.valrng_t.cvt_to_cmp",
"url":19,
"doc":"cvt_to_cmp(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.valrng_t.get_size",
"url":19,
"doc":"get_size(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.valrng_t.max_value",
"url":19,
"doc":"max_value(self) -> uvlr_t",
"func":1
},
{
"ref":"ida_hexrays.valrng_t.min_svalue",
"url":19,
"doc":"min_svalue(self) -> uvlr_t",
"func":1
},
{
"ref":"ida_hexrays.valrng_t.max_svalue",
"url":19,
"doc":"max_svalue(self) -> uvlr_t",
"func":1
},
{
"ref":"ida_hexrays.is_may_access",
"url":19,
"doc":"is_may_access(maymust) -> bool @param maymust: maymust_t",
"func":1
},
{
"ref":"ida_hexrays.MERR_OK",
"url":19,
"doc":"ok"
},
{
"ref":"ida_hexrays.MERR_BLOCK",
"url":19,
"doc":"no error, switch to new block"
},
{
"ref":"ida_hexrays.MERR_INTERR",
"url":19,
"doc":"internal error"
},
{
"ref":"ida_hexrays.MERR_INSN",
"url":19,
"doc":"cannot convert to microcode"
},
{
"ref":"ida_hexrays.MERR_MEM",
"url":19,
"doc":"not enough memory"
},
{
"ref":"ida_hexrays.MERR_BADBLK",
"url":19,
"doc":"bad block found"
},
{
"ref":"ida_hexrays.MERR_BADSP",
"url":19,
"doc":"positive sp value has been found"
},
{
"ref":"ida_hexrays.MERR_PROLOG",
"url":19,
"doc":"prolog analysis failed"
},
{
"ref":"ida_hexrays.MERR_SWITCH",
"url":19,
"doc":"wrong switch idiom"
},
{
"ref":"ida_hexrays.MERR_EXCEPTION",
"url":19,
"doc":"exception analysis failed"
},
{
"ref":"ida_hexrays.MERR_HUGESTACK",
"url":19,
"doc":"stack frame is too big"
},
{
"ref":"ida_hexrays.MERR_LVARS",
"url":19,
"doc":"local variable allocation failed"
},
{
"ref":"ida_hexrays.MERR_BITNESS",
"url":19,
"doc":"16-bit functions cannot be decompiled"
},
{
"ref":"ida_hexrays.MERR_BADCALL",
"url":19,
"doc":"could not determine call arguments"
},
{
"ref":"ida_hexrays.MERR_BADFRAME",
"url":19,
"doc":"function frame is wrong"
},
{
"ref":"ida_hexrays.MERR_UNKTYPE",
"url":19,
"doc":"undefined type s (currently unused error code)"
},
{
"ref":"ida_hexrays.MERR_BADIDB",
"url":19,
"doc":"inconsistent database information"
},
{
"ref":"ida_hexrays.MERR_SIZEOF",
"url":19,
"doc":"wrong basic type sizes in compiler settings"
},
{
"ref":"ida_hexrays.MERR_REDO",
"url":19,
"doc":"redecompilation has been requested"
},
{
"ref":"ida_hexrays.MERR_CANCELED",
"url":19,
"doc":"decompilation has been cancelled"
},
{
"ref":"ida_hexrays.MERR_RECDEPTH",
"url":19,
"doc":"max recursion depth reached during lvar allocation"
},
{
"ref":"ida_hexrays.MERR_OVERLAP",
"url":19,
"doc":"variables would overlap: s"
},
{
"ref":"ida_hexrays.MERR_PARTINIT",
"url":19,
"doc":"partially initialized variable s"
},
{
"ref":"ida_hexrays.MERR_COMPLEX",
"url":19,
"doc":"too complex function"
},
{
"ref":"ida_hexrays.MERR_LICENSE",
"url":19,
"doc":"no license available"
},
{
"ref":"ida_hexrays.MERR_ONLY32",
"url":19,
"doc":"only 32-bit functions can be decompiled for the current database"
},
{
"ref":"ida_hexrays.MERR_ONLY64",
"url":19,
"doc":"only 64-bit functions can be decompiled for the current database"
},
{
"ref":"ida_hexrays.MERR_BUSY",
"url":19,
"doc":"already decompiling a function"
},
{
"ref":"ida_hexrays.MERR_FARPTR",
"url":19,
"doc":"far memory model is supported only for pc"
},
{
"ref":"ida_hexrays.MERR_EXTERN",
"url":19,
"doc":"special segments cannot be decompiled"
},
{
"ref":"ida_hexrays.MERR_FUNCSIZE",
"url":19,
"doc":"too big function"
},
{
"ref":"ida_hexrays.MERR_BADRANGES",
"url":19,
"doc":"bad input ranges"
},
{
"ref":"ida_hexrays.MERR_BADARCH",
"url":19,
"doc":"current architecture is not supported"
},
{
"ref":"ida_hexrays.MERR_DSLOT",
"url":19,
"doc":"bad instruction in the delay slot"
},
{
"ref":"ida_hexrays.MERR_STOP",
"url":19,
"doc":"no error, stop the analysis"
},
{
"ref":"ida_hexrays.MERR_CLOUD",
"url":19,
"doc":"cloud: s"
},
{
"ref":"ida_hexrays.MERR_LOOP",
"url":19,
"doc":"internal code: redo last loop (never reported)"
},
{
"ref":"ida_hexrays.get_merror_desc",
"url":19,
"doc":"get_merror_desc(code, mba) -> str Get textual description of an error code @param code: (C : merror_t) Microcode error codes @param mba: (C : mba_t  ) the microcode array @return: the error address",
"func":1
},
{
"ref":"ida_hexrays.must_mcode_close_block",
"url":19,
"doc":"must_mcode_close_block(mcode, including_calls) -> bool Must an instruction with the given opcode be the last one in a block? Such opcodes are called closing opcodes. @param mcode: (C : mcode_t) instruction opcode @param including_calls: (C : bool) should m_call/m_icall be considered as the closing opcodes? If this function returns true, the opcode cannot appear in the middle of a block. Calls are a special case: unknown calls (is_unknown_call) are considered as closing opcodes.",
"func":1
},
{
"ref":"ida_hexrays.is_mcode_propagatable",
"url":19,
"doc":"is_mcode_propagatable(mcode) -> bool May opcode be propagated? Such opcodes can be used in sub-instructions (nested instructions) There is a handful of non-propagatable opcodes, like jumps, ret, nop, etc All other regular opcodes are propagatable and may appear in a nested instruction. @param mcode: (C : mcode_t) enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.is_mcode_addsub",
"url":19,
"doc":"is_mcode_addsub(mcode) -> bool @param mcode: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.is_mcode_xdsu",
"url":19,
"doc":"is_mcode_xdsu(mcode) -> bool @param mcode: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.is_mcode_set",
"url":19,
"doc":"is_mcode_set(mcode) -> bool @param mcode: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.is_mcode_set1",
"url":19,
"doc":"is_mcode_set1(mcode) -> bool @param mcode: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.is_mcode_j1",
"url":19,
"doc":"is_mcode_j1(mcode) -> bool @param mcode: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.is_mcode_jcond",
"url":19,
"doc":"is_mcode_jcond(mcode) -> bool @param mcode: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.is_mcode_convertible_to_jmp",
"url":19,
"doc":"is_mcode_convertible_to_jmp(mcode) -> bool @param mcode: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.is_mcode_convertible_to_set",
"url":19,
"doc":"is_mcode_convertible_to_set(mcode) -> bool @param mcode: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.is_mcode_call",
"url":19,
"doc":"is_mcode_call(mcode) -> bool @param mcode: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.is_mcode_fpu",
"url":19,
"doc":"is_mcode_fpu(mcode) -> bool @param mcode: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.is_mcode_commutative",
"url":19,
"doc":"is_mcode_commutative(mcode) -> bool @param mcode: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.is_mcode_shift",
"url":19,
"doc":"is_mcode_shift(mcode) -> bool @param mcode: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.is_mcode_divmod",
"url":19,
"doc":"is_mcode_divmod(op) -> bool @param op: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.has_mcode_seloff",
"url":19,
"doc":"has_mcode_seloff(op) -> bool @param op: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.set2jcnd",
"url":19,
"doc":"set2jcnd(code) -> mcode_t @param code: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.jcnd2set",
"url":19,
"doc":"jcnd2set(code) -> mcode_t @param code: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.negate_mcode_relation",
"url":19,
"doc":"negate_mcode_relation(code) -> mcode_t @param code: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.swap_mcode_relation",
"url":19,
"doc":"swap_mcode_relation(code) -> mcode_t @param code: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.get_signed_mcode",
"url":19,
"doc":"get_signed_mcode(code) -> mcode_t @param code: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.get_unsigned_mcode",
"url":19,
"doc":"get_unsigned_mcode(code) -> mcode_t @param code: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.is_signed_mcode",
"url":19,
"doc":"is_signed_mcode(code) -> bool @param code: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.is_unsigned_mcode",
"url":19,
"doc":"is_unsigned_mcode(code) -> bool @param code: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.mcode_modifies_d",
"url":19,
"doc":"mcode_modifies_d(mcode) -> bool @param mcode: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.operand_locator_t",
"url":19,
"doc":"Proxy of C operand_locator_t class. __init__(self, _ea, _opnum) -> operand_locator_t @param _ea: ea_t @param _opnum: int"
},
{
"ref":"ida_hexrays.operand_locator_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.operand_locator_t.ea",
"url":19,
"doc":"address of the original processor instruction"
},
{
"ref":"ida_hexrays.operand_locator_t.opnum",
"url":19,
"doc":"operand number in the instruction"
},
{
"ref":"ida_hexrays.operand_locator_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: operand_locator_t const &",
"func":1
},
{
"ref":"ida_hexrays.number_format_t",
"url":19,
"doc":"Proxy of C number_format_t class. __init__(self, _opnum=0) -> number_format_t @param _opnum: int"
},
{
"ref":"ida_hexrays.number_format_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.number_format_t.flags32",
"url":19,
"doc":"low 32bit of flags (for compatibility)"
},
{
"ref":"ida_hexrays.number_format_t.opnum",
"url":19,
"doc":"operand number: 0 UA_MAXOP"
},
{
"ref":"ida_hexrays.number_format_t.props",
"url":19,
"doc":"properties: combination of NF_ bits (Number format property bits)"
},
{
"ref":"ida_hexrays.number_format_t.serial",
"url":19,
"doc":"for enums: constant serial number"
},
{
"ref":"ida_hexrays.number_format_t.org_nbytes",
"url":19,
"doc":"original number size in bytes"
},
{
"ref":"ida_hexrays.number_format_t.type_name",
"url":19,
"doc":"for stroffs: structure for offsetof() for enums: enum name"
},
{
"ref":"ida_hexrays.number_format_t.flags",
"url":19,
"doc":"ida flags, which describe number radix, enum, etc"
},
{
"ref":"ida_hexrays.number_format_t.get_radix",
"url":19,
"doc":"get_radix(self) -> int Get number radix @return: 2,8,10, or 16",
"func":1
},
{
"ref":"ida_hexrays.number_format_t.is_fixed",
"url":19,
"doc":"is_fixed(self) -> bool Is number representation fixed? Fixed representation cannot be modified by the decompiler",
"func":1
},
{
"ref":"ida_hexrays.number_format_t.is_hex",
"url":19,
"doc":"is_hex(self) -> bool Is a hexadecimal number?",
"func":1
},
{
"ref":"ida_hexrays.number_format_t.is_dec",
"url":19,
"doc":"is_dec(self) -> bool Is a decimal number?",
"func":1
},
{
"ref":"ida_hexrays.number_format_t.is_oct",
"url":19,
"doc":"is_oct(self) -> bool Is a octal number?",
"func":1
},
{
"ref":"ida_hexrays.number_format_t.is_enum",
"url":19,
"doc":"is_enum(self) -> bool Is a symbolic constant?",
"func":1
},
{
"ref":"ida_hexrays.number_format_t.is_char",
"url":19,
"doc":"is_char(self) -> bool Is a character constant?",
"func":1
},
{
"ref":"ida_hexrays.number_format_t.is_stroff",
"url":19,
"doc":"is_stroff(self) -> bool Is a structure field offset?",
"func":1
},
{
"ref":"ida_hexrays.number_format_t.is_numop",
"url":19,
"doc":"is_numop(self) -> bool Is a number?",
"func":1
},
{
"ref":"ida_hexrays.number_format_t.needs_to_be_inverted",
"url":19,
"doc":"needs_to_be_inverted(self) -> bool Does the number need to be negated or bitwise negated? Returns true if the user requested a negation but it is not done yet",
"func":1
},
{
"ref":"ida_hexrays.number_format_t.has_unmutable_type",
"url":19,
"doc":"has_unmutable_type(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.NF_FIXED",
"url":19,
"doc":"number format has been defined by the user"
},
{
"ref":"ida_hexrays.NF_NEGDONE",
"url":19,
"doc":"temporary internal bit: negation has been performed"
},
{
"ref":"ida_hexrays.NF_BINVDONE",
"url":19,
"doc":"temporary internal bit: inverting bits is done"
},
{
"ref":"ida_hexrays.NF_NEGATE",
"url":19,
"doc":"The user asked to negate the constant."
},
{
"ref":"ida_hexrays.NF_BITNOT",
"url":19,
"doc":"The user asked to invert bits of the constant."
},
{
"ref":"ida_hexrays.NF_VALID",
"url":19,
"doc":"internal bit: stroff or enum is valid for enums: this bit is set immediately for stroffs: this bit is set at the end of decompilation"
},
{
"ref":"ida_hexrays.vd_printer_t",
"url":19,
"doc":"Proxy of C vd_printer_t class. __init__(self) -> vd_printer_t @param self: PyObject  "
},
{
"ref":"ida_hexrays.vd_printer_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.vd_printer_t.tmpbuf",
"url":19,
"doc":"tmpbuf"
},
{
"ref":"ida_hexrays.vd_printer_t.hdrlines",
"url":19,
"doc":"number of header lines (prototype+typedef+lvars) valid at the end of print process"
},
{
"ref":"ida_hexrays.vc_printer_t",
"url":19,
"doc":"Proxy of C vc_printer_t class. __init__(self, f) -> vc_printer_t @param f: cfunc_t const  "
},
{
"ref":"ida_hexrays.vc_printer_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.vc_printer_t.func",
"url":19,
"doc":"cfunc_t to generate text for"
},
{
"ref":"ida_hexrays.vc_printer_t.lastchar",
"url":19,
"doc":"internal: last printed character"
},
{
"ref":"ida_hexrays.vc_printer_t.oneliner",
"url":19,
"doc":"oneliner(self) -> bool Are we generating one-line text representation? @return: true if the output will occupy one line without line breaks",
"func":1
},
{
"ref":"ida_hexrays.vc_printer_t.tmpbuf",
"url":19,
"doc":"tmpbuf"
},
{
"ref":"ida_hexrays.vc_printer_t.hdrlines",
"url":19,
"doc":"number of header lines (prototype+typedef+lvars) valid at the end of print process"
},
{
"ref":"ida_hexrays.qstring_printer_t",
"url":19,
"doc":"Proxy of C qstring_printer_t class. __init__(self, f, tags) -> qstring_printer_t @param f: cfunc_t const  @param tags: bool"
},
{
"ref":"ida_hexrays.qstring_printer_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.qstring_printer_t.with_tags",
"url":19,
"doc":"Generate output with color tags."
},
{
"ref":"ida_hexrays.qstring_printer_t.s",
"url":19,
"doc":"Reference to the output string"
},
{
"ref":"ida_hexrays.qstring_printer_t.get_s",
"url":19,
"doc":"get_s(self) -> qstring",
"func":1
},
{
"ref":"ida_hexrays.qstring_printer_t.func",
"url":19,
"doc":"cfunc_t to generate text for"
},
{
"ref":"ida_hexrays.qstring_printer_t.lastchar",
"url":19,
"doc":"internal: last printed character"
},
{
"ref":"ida_hexrays.qstring_printer_t.oneliner",
"url":19,
"doc":"oneliner(self) -> bool Are we generating one-line text representation? @return: true if the output will occupy one line without line breaks",
"func":1
},
{
"ref":"ida_hexrays.qstring_printer_t.tmpbuf",
"url":19,
"doc":"tmpbuf"
},
{
"ref":"ida_hexrays.qstring_printer_t.hdrlines",
"url":19,
"doc":"number of header lines (prototype+typedef+lvars) valid at the end of print process"
},
{
"ref":"ida_hexrays.dstr",
"url":19,
"doc":"dstr(tif) -> char const  Print the specified type info. This function can be used from a debugger by typing \"tif->dstr()\" @param tif: (C : const tinfo_t  ) tinfo_t const  ",
"func":1
},
{
"ref":"ida_hexrays.is_type_correct",
"url":19,
"doc":"is_type_correct(ptr) -> bool Verify a type string. @param ptr: (C : const type_t  ) type_t const  @return: true if type string is correct",
"func":1
},
{
"ref":"ida_hexrays.is_small_udt",
"url":19,
"doc":"is_small_udt(tif) -> bool Is a small structure or union? @param tif: (C : const tinfo_t &) tinfo_t const & @return: true if the type is a small UDT (user defined type). Small UDTs fit into a register (or pair or registers) as a rule.",
"func":1
},
{
"ref":"ida_hexrays.is_nonbool_type",
"url":19,
"doc":"is_nonbool_type(type) -> bool Is definitely a non-boolean type? @param type: (C : const tinfo_t &) tinfo_t const & @return: true if the type is a non-boolean type (non bool and well defined)",
"func":1
},
{
"ref":"ida_hexrays.is_bool_type",
"url":19,
"doc":"is_bool_type(type) -> bool Is a boolean type? @param type: (C : const tinfo_t &) tinfo_t const & @return: true if the type is a boolean type",
"func":1
},
{
"ref":"ida_hexrays.is_ptr_or_array",
"url":19,
"doc":"is_ptr_or_array(t) -> bool Is a pointer or array type? @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_hexrays.is_paf",
"url":19,
"doc":"is_paf(t) -> bool Is a pointer, array, or function type? @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_hexrays.is_inplace_def",
"url":19,
"doc":"is_inplace_def(type) -> bool Is struct/union/enum definition (not declaration)? @param type: (C : const tinfo_t &) tinfo_t const &",
"func":1
},
{
"ref":"ida_hexrays.partial_type_num",
"url":19,
"doc":"partial_type_num(type) -> int Calculate number of partial subtypes. @param type: (C : const tinfo_t &) tinfo_t const & @return: number of partial subtypes. The bigger is this number, the uglier is the type.",
"func":1
},
{
"ref":"ida_hexrays.get_float_type",
"url":19,
"doc":"get_float_type(width) -> tinfo_t Get a type of a floating point value with the specified width @param width: (C : int) width of the desired type @return: type info object",
"func":1
},
{
"ref":"ida_hexrays.get_int_type_by_width_and_sign",
"url":19,
"doc":"get_int_type_by_width_and_sign(srcwidth, sign) -> tinfo_t Create a type info by width and sign. Returns a simple type (examples: int, short) with the given width and sign. @param srcwidth: (C : int) size of the type in bytes @param sign: (C : type_sign_t) sign of the type",
"func":1
},
{
"ref":"ida_hexrays.get_unk_type",
"url":19,
"doc":"get_unk_type(size) -> tinfo_t Create a partial type info by width. Returns a partially defined type (examples: _DWORD, _BYTE) with the given width. @param size: (C : int) size of the type in bytes",
"func":1
},
{
"ref":"ida_hexrays.dummy_ptrtype",
"url":19,
"doc":"dummy_ptrtype(ptrsize, isfp) -> tinfo_t Generate a dummy pointer type @param ptrsize: (C : int) size of pointed object @param isfp: (C : bool) is floating point object?",
"func":1
},
{
"ref":"ida_hexrays.make_pointer",
"url":19,
"doc":"make_pointer(type) -> tinfo_t Create a pointer type. This function performs the following conversion: \"type\" -> \"type \" @param type: (C : const tinfo_t &) object type. @return: \"type \". for example, if 'char' is passed as the argument,",
"func":1
},
{
"ref":"ida_hexrays.create_typedef",
"url":19,
"doc":"create_typedef(name) -> tinfo_t Create a reference to an ordinal type. @param name: char const  @return: type which refers to the specified ordinal. For example, if n is 1, the type info which refers to ordinal type 1 is created. create_typedef(n) -> tinfo_t @param n: int",
"func":1
},
{
"ref":"ida_hexrays.get_type",
"url":19,
"doc":"get_type(id, tif, guess) -> bool Get a global type. Global types are types of addressable objects and struct/union/enum types @param id: (C : uval_t) address or id of the object @param tif: (C : tinfo_t  ) buffer for the answer @param guess: (C : type_source_t) what kind of types to consider @return: success",
"func":1
},
{
"ref":"ida_hexrays.set_type",
"url":19,
"doc":"set_type(id, tif, source, force=False) -> bool Set a global type. @param id: (C : uval_t) address or id of the object @param tif: (C : const tinfo_t &) new type info @param source: (C : type_source_t) where the type comes from @param force: (C : bool) true means to set the type as is, false means to merge the new type with the possibly existing old type info. @return: success",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t",
"url":19,
"doc":"Proxy of C vdloc_t class. __init__(self) -> vdloc_t"
},
{
"ref":"ida_hexrays.vdloc_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.vdloc_t.reg1",
"url":19,
"doc":"reg1(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.set_reg1",
"url":19,
"doc":"set_reg1(self, r1) @param r1: int",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: vdloc_t const &",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.is_aliasable",
"url":19,
"doc":"is_aliasable(self, mb, size) -> bool @param mb: mba_t const  @param size: int",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.swap",
"url":20,
"doc":"swap(self, r) Assign this  r and r  this. @param r: (C : argloc_t &)",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.atype",
"url":20,
"doc":"atype(self) -> argloc_type_t Get type (Argument location types)",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.is_reg1",
"url":20,
"doc":"is_reg1(self) -> bool See ALOC_REG1.",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.is_reg2",
"url":20,
"doc":"is_reg2(self) -> bool See ALOC_REG2.",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.is_reg",
"url":20,
"doc":"is_reg(self) -> bool is_reg1()  is_reg2()",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.is_rrel",
"url":20,
"doc":"is_rrel(self) -> bool See ALOC_RREL.",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.is_ea",
"url":20,
"doc":"is_ea(self) -> bool See ALOC_STATIC.",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.is_stkoff",
"url":20,
"doc":"is_stkoff(self) -> bool See ALOC_STACK.",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.is_scattered",
"url":20,
"doc":"is_scattered(self) -> bool See ALOC_DIST.",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.has_reg",
"url":20,
"doc":"has_reg(self) -> bool TRUE if argloc has a register part.",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.has_stkoff",
"url":20,
"doc":"has_stkoff(self) -> bool TRUE if argloc has a stack part.",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.is_mixed_scattered",
"url":20,
"doc":"is_mixed_scattered(self) -> bool mixed scattered: consists of register and stack parts",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.in_stack",
"url":20,
"doc":"in_stack(self) -> bool TRUE if argloc is in stack entirely.",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.is_fragmented",
"url":20,
"doc":"is_fragmented(self) -> bool is_scattered()  is_reg2()",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.is_custom",
"url":20,
"doc":"is_custom(self) -> bool See ALOC_CUSTOM.",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.is_badloc",
"url":20,
"doc":"is_badloc(self) -> bool See ALOC_NONE.",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.regoff",
"url":20,
"doc":"regoff(self) -> int Get offset from the beginning of the register in bytes. Use when atype()  ALOC_REG1",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.reg2",
"url":20,
"doc":"reg2(self) -> int Get info for the second register. Use when atype()  ALOC_REG2",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.get_reginfo",
"url":20,
"doc":"get_reginfo(self) -> uint32 Get all register info. Use when atype()  ALOC_REG1 or ALOC_REG2",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.stkoff",
"url":20,
"doc":"stkoff(self) -> sval_t Get the stack offset. Use if atype()  ALOC_STACK",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.get_ea",
"url":20,
"doc":"get_ea(self) -> ea_t Get the global address. Use when atype()  ALOC_STATIC",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.scattered",
"url":20,
"doc":"scattered(self) -> scattered_aloc_t Get scattered argument info. Use when atype()  ALOC_DIST",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.get_rrel",
"url":20,
"doc":"get_rrel(self) -> rrel_t Get register-relative info. Use when atype()  ALOC_RREL",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.get_custom",
"url":20,
"doc":"get_custom(self) -> void  Get custom argloc info. Use if atype()  ALOC_CUSTOM",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.get_biggest",
"url":20,
"doc":"get_biggest(self) -> argloc_t biggest_t Get largest element in internal union.",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.set_reg2",
"url":20,
"doc":"set_reg2(self, _reg1, _reg2) Set secondary register location. @param _reg1: (C : int) @param _reg2: (C : int)",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.set_stkoff",
"url":20,
"doc":"set_stkoff(self, off) Set stack offset location. @param off: (C : sval_t)",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.set_ea",
"url":20,
"doc":"set_ea(self, _ea) Set static ea location. @param _ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.consume_rrel",
"url":20,
"doc":"consume_rrel(self, p) Set register-relative location - can't be nullptr. @param p: (C : rrel_t  )",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.set_badloc",
"url":20,
"doc":"set_badloc(self) Set to invalid location.",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.calc_offset",
"url":20,
"doc":"calc_offset(self) -> sval_t Calculate offset that can be used to compare 2 similar arglocs.",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.advance",
"url":20,
"doc":"advance(self, delta) -> bool Move the location to point 'delta' bytes further. @param delta: (C : int)",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.align_reg_high",
"url":20,
"doc":"align_reg_high(self, size, _slotsize) Set register offset to align it to the upper part of _SLOTSIZE. @param size: (C : size_t) @param _slotsize: (C : size_t)",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.align_stkoff_high",
"url":20,
"doc":"align_stkoff_high(self, size, _slotsize) Set stack offset to align to the upper part of _SLOTSIZE. @param size: (C : size_t) @param _slotsize: (C : size_t)",
"func":1
},
{
"ref":"ida_hexrays.vdloc_t.consume_scattered",
"url":20,
"doc":"consume_scattered(self, p) Set distributed argument location. @param p: (C : scattered_aloc_t  ) scattered_aloc_t const &",
"func":1
},
{
"ref":"ida_hexrays.print_vdloc",
"url":19,
"doc":"print_vdloc(loc, nbytes) -> str Print vdloc. Since vdloc does not always carry the size info, we pass it as NBYTES @param loc: (C : const vdloc_t &) vdloc_t const & @param nbytes: (C : int)",
"func":1
},
{
"ref":"ida_hexrays.arglocs_overlap",
"url":19,
"doc":"arglocs_overlap(loc1, w1, loc2, w2) -> bool Do two arglocs overlap? @param loc1: (C : const vdloc_t &) vdloc_t const & @param w1: (C : size_t) @param loc2: (C : const vdloc_t &) vdloc_t const & @param w2: (C : size_t)",
"func":1
},
{
"ref":"ida_hexrays.lvar_locator_t",
"url":19,
"doc":"Proxy of C lvar_locator_t class. __init__(self) -> lvar_locator_t __init__(self, loc, ea) -> lvar_locator_t @param loc: vdloc_t const & @param ea: ea_t"
},
{
"ref":"ida_hexrays.lvar_locator_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.lvar_locator_t.location",
"url":19,
"doc":"Variable location."
},
{
"ref":"ida_hexrays.lvar_locator_t.defea",
"url":19,
"doc":"Definition address. Usually, this is the address of the instruction that initializes the variable. In some cases it can be a fictional address."
},
{
"ref":"ida_hexrays.lvar_locator_t.get_stkoff",
"url":19,
"doc":"get_stkoff(self) -> sval_t Get offset of the varialbe in the stack frame. @return: a non-negative value for stack variables. The value is an offset from the bottom of the stack frame in terms of vd-offsets. negative values mean error (not a stack variable)",
"func":1
},
{
"ref":"ida_hexrays.lvar_locator_t.is_reg1",
"url":19,
"doc":"is_reg1(self) -> bool Is variable located on one register?",
"func":1
},
{
"ref":"ida_hexrays.lvar_locator_t.is_reg2",
"url":19,
"doc":"is_reg2(self) -> bool Is variable located on two registers?",
"func":1
},
{
"ref":"ida_hexrays.lvar_locator_t.is_reg_var",
"url":19,
"doc":"is_reg_var(self) -> bool Is variable located on register(s)?",
"func":1
},
{
"ref":"ida_hexrays.lvar_locator_t.is_stk_var",
"url":19,
"doc":"is_stk_var(self) -> bool Is variable located on the stack?",
"func":1
},
{
"ref":"ida_hexrays.lvar_locator_t.is_scattered",
"url":19,
"doc":"is_scattered(self) -> bool Is variable scattered?",
"func":1
},
{
"ref":"ida_hexrays.lvar_locator_t.get_reg1",
"url":19,
"doc":"get_reg1(self) -> mreg_t Get the register number of the variable.",
"func":1
},
{
"ref":"ida_hexrays.lvar_locator_t.get_reg2",
"url":19,
"doc":"get_reg2(self) -> mreg_t Get the number of the second register (works only for ALOC_REG2 lvars)",
"func":1
},
{
"ref":"ida_hexrays.lvar_locator_t.get_scattered",
"url":19,
"doc":"get_scattered(self) -> scattered_aloc_t",
"func":1
},
{
"ref":"ida_hexrays.lvar_locator_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: lvar_locator_t const &",
"func":1
},
{
"ref":"ida_hexrays.lvar_t",
"url":19,
"doc":"Proxy of C lvar_t class. __init__(self) -> lvar_locator_t __init__(self, loc, ea) -> lvar_locator_t @param loc: vdloc_t const & @param ea: ea_t"
},
{
"ref":"ida_hexrays.lvar_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.lvar_t.name",
"url":19,
"doc":"variable name. use mba_t set_nice_lvar_name() and mba_t set_user_lvar_name() to modify it"
},
{
"ref":"ida_hexrays.lvar_t.cmt",
"url":19,
"doc":"variable comment string"
},
{
"ref":"ida_hexrays.lvar_t.tif",
"url":19,
"doc":"variable type"
},
{
"ref":"ida_hexrays.lvar_t.width",
"url":19,
"doc":"variable size in bytes"
},
{
"ref":"ida_hexrays.lvar_t.defblk",
"url":19,
"doc":"first block defining the variable. 0 for args, -1 if unknown"
},
{
"ref":"ida_hexrays.lvar_t.divisor",
"url":19,
"doc":"max known divisor of the variable"
},
{
"ref":"ida_hexrays.lvar_t.used",
"url":19,
"doc":"used(self) -> bool Is the variable used in the code?"
},
{
"ref":"ida_hexrays.lvar_t.typed",
"url":19,
"doc":"typed(self) -> bool Has the variable a type?"
},
{
"ref":"ida_hexrays.lvar_t.mreg_done",
"url":19,
"doc":"mreg_done(self) -> bool Have corresponding microregs been replaced by references to this variable?"
},
{
"ref":"ida_hexrays.lvar_t.has_nice_name",
"url":19,
"doc":"has_nice_name(self) -> bool Does the variable have a nice name?"
},
{
"ref":"ida_hexrays.lvar_t.is_unknown_width",
"url":19,
"doc":"is_unknown_width(self) -> bool Do we know the width of the variable?"
},
{
"ref":"ida_hexrays.lvar_t.has_user_info",
"url":19,
"doc":"has_user_info(self) -> bool Has any user-defined information?"
},
{
"ref":"ida_hexrays.lvar_t.has_user_name",
"url":19,
"doc":"has_user_name(self) -> bool Has user-defined name?"
},
{
"ref":"ida_hexrays.lvar_t.has_user_type",
"url":19,
"doc":"has_user_type(self) -> bool Has user-defined type?"
},
{
"ref":"ida_hexrays.lvar_t.is_result_var",
"url":19,
"doc":"is_result_var(self) -> bool Is the function result?"
},
{
"ref":"ida_hexrays.lvar_t.is_arg_var",
"url":19,
"doc":"is_arg_var(self) -> bool Is the function argument?"
},
{
"ref":"ida_hexrays.lvar_t.is_fake_var",
"url":19,
"doc":"is_fake_var(self) -> bool Is fake return variable?"
},
{
"ref":"ida_hexrays.lvar_t.is_overlapped_var",
"url":19,
"doc":"is_overlapped_var(self) -> bool Is overlapped variable?"
},
{
"ref":"ida_hexrays.lvar_t.is_floating_var",
"url":19,
"doc":"is_floating_var(self) -> bool Used by a fpu insn?"
},
{
"ref":"ida_hexrays.lvar_t.is_spoiled_var",
"url":19,
"doc":"is_spoiled_var(self) -> bool Is spoiled var? (meaningful only during lvar allocation)"
},
{
"ref":"ida_hexrays.lvar_t.is_noptr_var",
"url":19,
"doc":"is_noptr_var(self) -> bool Variable type should not be a pointer.",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.is_mapdst_var",
"url":19,
"doc":"is_mapdst_var(self) -> bool Other variable(s) map to this var?"
},
{
"ref":"ida_hexrays.lvar_t.is_thisarg",
"url":19,
"doc":"is_thisarg(self) -> bool Is 'this' argument of a C member function?",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.is_split_var",
"url":19,
"doc":"is_split_var(self) -> bool Is a split variable?",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.has_regname",
"url":19,
"doc":"has_regname(self) -> bool Has a register name? (like _RAX)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.in_asm",
"url":19,
"doc":"in_asm(self) -> bool Is variable used in an instruction translated into __asm?",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.is_dummy_arg",
"url":19,
"doc":"is_dummy_arg(self) -> bool Is a dummy argument (added to fill a hole in the argument list)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.is_notarg",
"url":19,
"doc":"is_notarg(self) -> bool Is a local variable? (local variable cannot be an input argument)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.is_automapped",
"url":19,
"doc":"is_automapped(self) -> bool Was the variable automatically mapped to another variable?",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.is_used_byref",
"url":19,
"doc":"is_used_byref(self) -> bool Was the address of the variable taken?",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.is_decl_unused",
"url":19,
"doc":"is_decl_unused(self) -> bool Was declared as __unused by the user? See CVAR_UNUSED.",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.is_shared",
"url":19,
"doc":"is_shared(self) -> bool Is lvar mapped to several chains.",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.was_scattered_arg",
"url":19,
"doc":"was_scattered_arg(self) -> bool Was lvar transformed from a scattered argument?",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_used",
"url":19,
"doc":"set_used(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.clear_used",
"url":19,
"doc":"clear_used(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_typed",
"url":19,
"doc":"set_typed(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_non_typed",
"url":19,
"doc":"set_non_typed(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.clr_user_info",
"url":19,
"doc":"clr_user_info(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_user_name",
"url":19,
"doc":"set_user_name(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_user_type",
"url":19,
"doc":"set_user_type(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.clr_user_type",
"url":19,
"doc":"clr_user_type(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.clr_user_name",
"url":19,
"doc":"clr_user_name(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_mreg_done",
"url":19,
"doc":"set_mreg_done(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.clr_mreg_done",
"url":19,
"doc":"clr_mreg_done(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_unknown_width",
"url":19,
"doc":"set_unknown_width(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.clr_unknown_width",
"url":19,
"doc":"clr_unknown_width(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_arg_var",
"url":19,
"doc":"set_arg_var(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.clr_arg_var",
"url":19,
"doc":"clr_arg_var(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_fake_var",
"url":19,
"doc":"set_fake_var(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.clr_fake_var",
"url":19,
"doc":"clr_fake_var(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_overlapped_var",
"url":19,
"doc":"set_overlapped_var(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.clr_overlapped_var",
"url":19,
"doc":"clr_overlapped_var(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_floating_var",
"url":19,
"doc":"set_floating_var(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.clr_floating_var",
"url":19,
"doc":"clr_floating_var(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_spoiled_var",
"url":19,
"doc":"set_spoiled_var(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.clr_spoiled_var",
"url":19,
"doc":"clr_spoiled_var(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_mapdst_var",
"url":19,
"doc":"set_mapdst_var(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.clr_mapdst_var",
"url":19,
"doc":"clr_mapdst_var(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_noptr_var",
"url":19,
"doc":"set_noptr_var(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.clr_noptr_var",
"url":19,
"doc":"clr_noptr_var(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_thisarg",
"url":19,
"doc":"set_thisarg(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.clr_thisarg",
"url":19,
"doc":"clr_thisarg(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_split_var",
"url":19,
"doc":"set_split_var(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.clr_split_var",
"url":19,
"doc":"clr_split_var(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_dummy_arg",
"url":19,
"doc":"set_dummy_arg(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.clr_dummy_arg",
"url":19,
"doc":"clr_dummy_arg(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_notarg",
"url":19,
"doc":"set_notarg(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.clr_notarg",
"url":19,
"doc":"clr_notarg(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_automapped",
"url":19,
"doc":"set_automapped(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.clr_automapped",
"url":19,
"doc":"clr_automapped(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_used_byref",
"url":19,
"doc":"set_used_byref(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.clr_used_byref",
"url":19,
"doc":"clr_used_byref(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_decl_unused",
"url":19,
"doc":"set_decl_unused(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.clr_decl_unused",
"url":19,
"doc":"clr_decl_unused(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_shared",
"url":19,
"doc":"set_shared(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.clr_shared",
"url":19,
"doc":"clr_shared(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_scattered_arg",
"url":19,
"doc":"set_scattered_arg(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.clr_scattered_arg",
"url":19,
"doc":"clr_scattered_arg(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.has_common",
"url":19,
"doc":"has_common(self, v) -> bool Do variables overlap? @param v: (C : const lvar_t &) lvar_t const &",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.has_common_bit",
"url":19,
"doc":"has_common_bit(self, loc, width2) -> bool Does the variable overlap with the specified location? @param loc: (C : const vdloc_t &) vdloc_t const & @param width2: (C : asize_t)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.type",
"url":19,
"doc":"type(self) -> tinfo_t",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.accepts_type",
"url":19,
"doc":"accepts_type(self, t, may_change_thisarg=False) -> bool Check if the variable accept the specified type. Some types are forbidden (void, function types, wrong arrays, etc) @param t: (C : const tinfo_t &) tinfo_t const & @param may_change_thisarg: (C : bool)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_lvar_type",
"url":19,
"doc":"set_lvar_type(self, t, may_fail=False) -> bool Set variable type Note: this function does not modify the idb, only the lvar instance in the memory. For permanent changes see modify_user_lvars() Also, the variable type is not considered as final by the decompiler and may be modified later by the type derivation. In some cases set_final_var_type() may work better, but it does not do persistent changes to the database neither. @param t: (C : const tinfo_t &) new type @param may_fail: (C : bool) if false and type is bad, interr @return: success",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_final_lvar_type",
"url":19,
"doc":"set_final_lvar_type(self, t) Set final variable type. @param t: (C : const tinfo_t &) tinfo_t const &",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.set_width",
"url":19,
"doc":"set_width(self, w, svw_flags=0) -> bool Change the variable width. We call the variable size 'width', it is represents the number of bytes. This function may change the variable type using set_lvar_type(). @param w: (C : int) new width @param svw_flags: (C : int) combination of SVW_ . bits @return: success",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.append_list",
"url":19,
"doc":"append_list(self, mba, lst, pad_if_scattered=False) Append local variable to mlist. @param mba: (C : const mba_t  ) ptr to the current mba_t @param lst: (C : mlist_t  ) list to append to @param pad_if_scattered: (C : bool) if true, append padding bytes in case of scattered lvar",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.is_aliasable",
"url":19,
"doc":"is_aliasable(self, mba) -> bool Is the variable aliasable? @param mba: (C : const mba_t  ) ptr to the current mba_t Aliasable variables may be modified indirectly (through a pointer)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.location",
"url":19,
"doc":"Variable location."
},
{
"ref":"ida_hexrays.lvar_t.defea",
"url":19,
"doc":"Definition address. Usually, this is the address of the instruction that initializes the variable. In some cases it can be a fictional address."
},
{
"ref":"ida_hexrays.lvar_t.get_stkoff",
"url":19,
"doc":"get_stkoff(self) -> sval_t Get offset of the varialbe in the stack frame. @return: a non-negative value for stack variables. The value is an offset from the bottom of the stack frame in terms of vd-offsets. negative values mean error (not a stack variable)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.is_reg1",
"url":19,
"doc":"is_reg1(self) -> bool Is variable located on one register?",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.is_reg2",
"url":19,
"doc":"is_reg2(self) -> bool Is variable located on two registers?",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.is_reg_var",
"url":19,
"doc":"is_reg_var(self) -> bool Is variable located on register(s)?",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.is_stk_var",
"url":19,
"doc":"is_stk_var(self) -> bool Is variable located on the stack?",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.is_scattered",
"url":19,
"doc":"is_scattered(self) -> bool Is variable scattered?",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.get_reg1",
"url":19,
"doc":"get_reg1(self) -> mreg_t Get the register number of the variable.",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.get_reg2",
"url":19,
"doc":"get_reg2(self) -> mreg_t Get the number of the second register (works only for ALOC_REG2 lvars)",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.get_scattered",
"url":19,
"doc":"get_scattered(self) -> scattered_aloc_t",
"func":1
},
{
"ref":"ida_hexrays.lvar_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: lvar_locator_t const &",
"func":1
},
{
"ref":"ida_hexrays.lvars_t",
"url":19,
"doc":"Proxy of C lvars_t class. __init__(self) -> lvars_t"
},
{
"ref":"ida_hexrays.lvars_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.lvars_t.find_input_lvar",
"url":19,
"doc":"find_input_lvar(self, argloc, _size) -> int Find an input variable at the specified location. @param argloc: (C : const vdloc_t &) variable location @param _size: (C : int) variable size in bytes @return: -1 if failed, otherwise an index into 'vars'",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.find_input_reg",
"url":19,
"doc":"find_input_reg(self, reg, _size=1) -> int Find an input register variable. @param reg: (C : int) register to find @param _size: (C : int) variable size in bytes @return: -1 if failed, otherwise an index into 'vars'",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.find_stkvar",
"url":19,
"doc":"find_stkvar(self, spoff, width) -> int Find a stack variable at the specified location. @param spoff: (C : sval_t) offset from the minimal sp @param width: (C : int) variable size in bytes @return: -1 if failed, otherwise an index into 'vars'",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.find",
"url":19,
"doc":"find(self, ll) -> lvar_t Find a variable at the specified location. @param ll: (C : const lvar_locator_t &) variable location @return: pointer to variable or nullptr",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.find_lvar",
"url":19,
"doc":"find_lvar(self, location, width, defblk=-1) -> int Find a variable at the specified location. @param location: (C : const vdloc_t &) variable location @param width: (C : int) variable size in bytes @param defblk: (C : int) definition block of the lvar. -1 means any block @return: -1 if failed, otherwise an index into 'vars'",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.push_back",
"url":19,
"doc":"push_back(self, x) @param x: lvar_t const & push_back(self) -> lvar_t",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.at",
"url":19,
"doc":"__getitem__(self, i) -> lvar_t @param i: size_t",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.qclear",
"url":19,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.resize",
"url":19,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: lvar_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.grow",
"url":19,
"doc":"grow(self, x=lvar_t( @param x: lvar_t const &",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.capacity",
"url":19,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.reserve",
"url":19,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.truncate",
"url":19,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.swap",
"url":19,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.extract",
"url":19,
"doc":"extract(self) -> lvar_t",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.inject",
"url":19,
"doc":"inject(self, s, len) @param s: lvar_t  @param len: size_t",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.begin",
"url":19,
"doc":"begin(self) -> lvar_t",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.end",
"url":19,
"doc":"end(self) -> lvar_t",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.insert",
"url":19,
"doc":"insert(self, it, x) -> lvar_t @param it: qvector  iterator @param x: lvar_t const &",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.erase",
"url":19,
"doc":"erase(self, it) -> lvar_t @param it: qvector  iterator erase(self, first, last) -> lvar_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.has",
"url":19,
"doc":"has(self, x) -> bool @param x: lvar_t const &",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.add_unique",
"url":19,
"doc":"add_unique(self, x) -> bool @param x: lvar_t const &",
"func":1
},
{
"ref":"ida_hexrays.lvars_t.append",
"url":19,
"doc":"push_back(self, x) @param x: lvar_t const & push_back(self) -> lvar_t",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_info_t",
"url":19,
"doc":"Proxy of C lvar_saved_info_t class. __init__(self) -> lvar_saved_info_t"
},
{
"ref":"ida_hexrays.lvar_saved_info_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.lvar_saved_info_t.ll",
"url":19,
"doc":"Variable locator."
},
{
"ref":"ida_hexrays.lvar_saved_info_t.name",
"url":19,
"doc":"Name."
},
{
"ref":"ida_hexrays.lvar_saved_info_t.type",
"url":19,
"doc":"Type."
},
{
"ref":"ida_hexrays.lvar_saved_info_t.cmt",
"url":19,
"doc":"Comment."
},
{
"ref":"ida_hexrays.lvar_saved_info_t.size",
"url":19,
"doc":"Type size (if not initialized then -1)"
},
{
"ref":"ida_hexrays.lvar_saved_info_t.flags",
"url":19,
"doc":"saved user lvar info property bits"
},
{
"ref":"ida_hexrays.lvar_saved_info_t.has_info",
"url":19,
"doc":"has_info(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_info_t.is_kept",
"url":19,
"doc":"is_kept(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_info_t.clear_keep",
"url":19,
"doc":"clear_keep(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_info_t.set_keep",
"url":19,
"doc":"set_keep(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_info_t.is_split_lvar",
"url":19,
"doc":"is_split_lvar(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_info_t.set_split_lvar",
"url":19,
"doc":"set_split_lvar(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_info_t.clr_split_lvar",
"url":19,
"doc":"clr_split_lvar(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_info_t.is_noptr_lvar",
"url":19,
"doc":"is_noptr_lvar(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_info_t.set_noptr_lvar",
"url":19,
"doc":"set_noptr_lvar(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_info_t.clr_noptr_lvar",
"url":19,
"doc":"clr_noptr_lvar(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_info_t.is_nomap_lvar",
"url":19,
"doc":"is_nomap_lvar(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_info_t.set_nomap_lvar",
"url":19,
"doc":"set_nomap_lvar(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_info_t.clr_nomap_lvar",
"url":19,
"doc":"clr_nomap_lvar(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_info_t.is_unused_lvar",
"url":19,
"doc":"is_unused_lvar(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_info_t.set_unused_lvar",
"url":19,
"doc":"set_unused_lvar(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_saved_info_t.clr_unused_lvar",
"url":19,
"doc":"clr_unused_lvar(self)",
"func":1
},
{
"ref":"ida_hexrays.LVINF_KEEP",
"url":19,
"doc":"preserve saved user settings regardless of vars for example, if a var loses all its user-defined attributes or even gets destroyed, keep its lvar_saved_info_t. this is used for ephemeral variables that get destroyed by macro recognition."
},
{
"ref":"ida_hexrays.LVINF_SPLIT",
"url":19,
"doc":"split allocation of a new variable. forces the decompiler to create a new variable at ll.defea"
},
{
"ref":"ida_hexrays.LVINF_NOPTR",
"url":19,
"doc":"variable type should not be a pointer"
},
{
"ref":"ida_hexrays.LVINF_NOMAP",
"url":19,
"doc":"forbid automatic mapping of the variable"
},
{
"ref":"ida_hexrays.LVINF_UNUSED",
"url":19,
"doc":"unused argument, corresponds to CVAR_UNUSED"
},
{
"ref":"ida_hexrays.lvar_uservec_t",
"url":19,
"doc":"Proxy of C lvar_uservec_t class. __init__(self) -> lvar_uservec_t"
},
{
"ref":"ida_hexrays.lvar_uservec_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.lvar_uservec_t.lvvec",
"url":19,
"doc":"User-specified names, types, comments for lvars. Variables without user- specified info are not present in this vector."
},
{
"ref":"ida_hexrays.lvar_uservec_t.lmaps",
"url":19,
"doc":"Local variable mapping (used for merging variables)"
},
{
"ref":"ida_hexrays.lvar_uservec_t.stkoff_delta",
"url":19,
"doc":"Delta to add to IDA stack offset to calculate Hex-Rays stack offsets. Should be set by the caller before calling save_user_lvar_settings();"
},
{
"ref":"ida_hexrays.lvar_uservec_t.ulv_flags",
"url":19,
"doc":"Various flags. Possible values are from lvar_uservec_t property bits."
},
{
"ref":"ida_hexrays.lvar_uservec_t.swap",
"url":19,
"doc":"swap(self, r) @param r: lvar_uservec_t &",
"func":1
},
{
"ref":"ida_hexrays.lvar_uservec_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.lvar_uservec_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.lvar_uservec_t.find_info",
"url":19,
"doc":"find_info(self, vloc) -> lvar_saved_info_t find saved user settings for given var @param vloc: (C : const lvar_locator_t &) lvar_locator_t const &",
"func":1
},
{
"ref":"ida_hexrays.lvar_uservec_t.keep_info",
"url":19,
"doc":"keep_info(self, v) Preserve user settings for given var. @param v: (C : const lvar_t &) lvar_t const &",
"func":1
},
{
"ref":"ida_hexrays.ULV_PRECISE_DEFEA",
"url":19,
"doc":"Use precise defea's for lvar locations."
},
{
"ref":"ida_hexrays.restore_user_lvar_settings",
"url":19,
"doc":"restore_user_lvar_settings(lvinf, func_ea) -> bool Restore user defined local variable settings in the database. @param lvinf: (C : lvar_uservec_t  ) ptr to output buffer @param func_ea: (C : ea_t) entry address of the function @return: success",
"func":1
},
{
"ref":"ida_hexrays.save_user_lvar_settings",
"url":19,
"doc":"save_user_lvar_settings(func_ea, lvinf) Save user defined local variable settings into the database. @param func_ea: (C : ea_t) entry address of the function @param lvinf: (C : const lvar_uservec_t &) user-specified info about local variables",
"func":1
},
{
"ref":"ida_hexrays.user_lvar_modifier_t",
"url":19,
"doc":"Proxy of C user_lvar_modifier_t class. __init__(self) -> user_lvar_modifier_t @param self: PyObject  "
},
{
"ref":"ida_hexrays.user_lvar_modifier_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.user_lvar_modifier_t.modify_lvars",
"url":19,
"doc":"modify_lvars(self, lvinf) -> bool Modify lvar settings. Returns: true-modified @param lvinf: (C : lvar_uservec_t  )",
"func":1
},
{
"ref":"ida_hexrays.modify_user_lvars",
"url":19,
"doc":"modify_user_lvars(entry_ea, mlv) -> bool Modify saved local variable settings. @param entry_ea: (C : ea_t) function start address @param mlv: (C : user_lvar_modifier_t &) local variable modifier @return: true if modified variables",
"func":1
},
{
"ref":"ida_hexrays.modify_user_lvar_info",
"url":19,
"doc":"modify_user_lvar_info(func_ea, mli_flags, info) -> bool Modify saved local variable settings of one variable. @param func_ea: (C : ea_t) function start address @param mli_flags: (C : uint) bits that specify which attrs defined by INFO are to be set @param info: (C : const lvar_saved_info_t &) local variable info attrs @return: true if modified, false if invalid MLI_FLAGS passed",
"func":1
},
{
"ref":"ida_hexrays.MLI_NAME",
"url":19,
"doc":"apply lvar name"
},
{
"ref":"ida_hexrays.MLI_TYPE",
"url":19,
"doc":"apply lvar type"
},
{
"ref":"ida_hexrays.MLI_CMT",
"url":19,
"doc":"apply lvar comment"
},
{
"ref":"ida_hexrays.MLI_SET_FLAGS",
"url":19,
"doc":"set LVINF_ . bits"
},
{
"ref":"ida_hexrays.MLI_CLR_FLAGS",
"url":19,
"doc":"clear LVINF_ . bits"
},
{
"ref":"ida_hexrays.locate_lvar",
"url":19,
"doc":"locate_lvar(out, func_ea, varname) -> bool Find a variable by name. @param out: (C : lvar_locator_t  ) output buffer for the variable locator @param func_ea: (C : ea_t) function start address @param varname: (C : const char  ) variable name @return: success Since VARNAME is not always enough to find the variable, it may decompile the function.",
"func":1
},
{
"ref":"ida_hexrays.rename_lvar",
"url":19,
"doc":"rename_lvar(func_ea, oldname, newname) -> bool Rename a local variable. @param func_ea: (C : ea_t) function start address @param oldname: (C : const char  ) old name of the variable @param newname: (C : const char  ) new name of the variable @return: success This is a convenience function. For bulk renaming consider using modify_user_lvars.",
"func":1
},
{
"ref":"ida_hexrays.udcall_t",
"url":19,
"doc":"Proxy of C udcall_t class. __init__(self) -> udcall_t"
},
{
"ref":"ida_hexrays.udcall_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.udcall_t.name",
"url":19,
"doc":"name"
},
{
"ref":"ida_hexrays.udcall_t.tif",
"url":19,
"doc":"tif"
},
{
"ref":"ida_hexrays.udcall_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: udcall_t const &",
"func":1
},
{
"ref":"ida_hexrays.udcall_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.restore_user_defined_calls",
"url":19,
"doc":"restore_user_defined_calls(udcalls, func_ea) -> bool Restore user defined function calls from the database. @param udcalls: (C : udcall_map_t  ) ptr to output buffer @param func_ea: (C : ea_t) entry address of the function @return: success",
"func":1
},
{
"ref":"ida_hexrays.save_user_defined_calls",
"url":19,
"doc":"save_user_defined_calls(func_ea, udcalls) Save user defined local function calls into the database. @param func_ea: (C : ea_t) entry address of the function @param udcalls: (C : const udcall_map_t &) user-specified info about user defined function calls",
"func":1
},
{
"ref":"ida_hexrays.parse_user_call",
"url":19,
"doc":"parse_user_call(udc, decl, silent) -> bool Convert function type declaration into internal structure @param udc: (C : udcall_t  ) - pointer to output structure @param decl: (C : const char  ) - function type declaration @param silent: (C : bool) - if TRUE: do not show warning in case of incorrect type @return: success",
"func":1
},
{
"ref":"ida_hexrays.convert_to_user_call",
"url":19,
"doc":"convert_to_user_call(udc, cdg) -> merror_t try to generate user-defined call for an instruction @param udc: (C : const udcall_t &) udcall_t const & @param cdg: (C : codegen_t &) @return: Microcode error codes code: MERR_OK - user-defined call generated else - error (MERR_INSN  inacceptable udc.tif)",
"func":1
},
{
"ref":"ida_hexrays.microcode_filter_t",
"url":19,
"doc":"Proxy of C microcode_filter_t class. __init__(self) -> microcode_filter_t @param self: PyObject  "
},
{
"ref":"ida_hexrays.microcode_filter_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.microcode_filter_t.match",
"url":19,
"doc":"match(self, cdg) -> bool check if the filter object is to be applied @param cdg: (C : codegen_t &) @return: success",
"func":1
},
{
"ref":"ida_hexrays.microcode_filter_t.apply",
"url":19,
"doc":"apply(self, cdg) -> merror_t generate microcode for an instruction @param cdg: (C : codegen_t &) @return: MERR_ . code: MERR_OK - user-defined microcode generated, go to the next instruction MERR_INSN - not generated - the caller should try the standard way else - error",
"func":1
},
{
"ref":"ida_hexrays.install_microcode_filter",
"url":19,
"doc":"install_microcode_filter(filter, install=True) -> bool register/unregister non-standard microcode generator @param filter: (C : microcode_filter_t  ) - microcode generator object @param install: (C : bool) - TRUE - register the object, FALSE - unregister @return: success",
"func":1
},
{
"ref":"ida_hexrays.udc_filter_t",
"url":19,
"doc":"Proxy of C udc_filter_t class. __init__(self) -> udc_filter_t @param self: PyObject  "
},
{
"ref":"ida_hexrays.udc_filter_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.udc_filter_t.cleanup",
"url":19,
"doc":"cleanup(self) Cleanup the filter This function properly clears type information associated to this filter.",
"func":1
},
{
"ref":"ida_hexrays.udc_filter_t.match",
"url":19,
"doc":"match(self, cdg) -> bool return true if the filter object should be applied to given instruction @param cdg: (C : codegen_t &)",
"func":1
},
{
"ref":"ida_hexrays.udc_filter_t.apply",
"url":19,
"doc":"apply(self, cdg) -> merror_t generate microcode for an instruction @param cdg: (C : codegen_t &) @return: MERR_ . code: MERR_OK - user-defined microcode generated, go to the next instruction MERR_INSN - not generated - the caller should try the standard way else - error",
"func":1
},
{
"ref":"ida_hexrays.udc_filter_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.udc_filter_t.install",
"url":19,
"doc":"install(self)",
"func":1
},
{
"ref":"ida_hexrays.udc_filter_t.remove",
"url":19,
"doc":"remove(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.udc_filter_t.init",
"url":19,
"doc":"init(self, decl) -> bool @param decl: char const  ",
"func":1
},
{
"ref":"ida_hexrays.bitset_t",
"url":19,
"doc":"Proxy of C bitset_t class. __init__(self) -> bitset_t __init__(self, m) -> bitset_t @param m: bitset_t const &"
},
{
"ref":"ida_hexrays.bitset_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.bitset_t.swap",
"url":19,
"doc":"swap(self, r) @param r: bitset_t &",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.copy",
"url":19,
"doc":"copy(self, m) -> bitset_t @param m: bitset_t const &",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.add",
"url":19,
"doc":"add(self, bit) -> bool @param bit: int add(self, bit, width) -> bool @param bit: int @param width: int add(self, ml) -> bool @param ml: bitset_t const &",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.sub",
"url":19,
"doc":"sub(self, bit) -> bool @param bit: int sub(self, bit, width) -> bool @param bit: int @param width: int sub(self, ml) -> bool @param ml: bitset_t const &",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.cut_at",
"url":19,
"doc":"cut_at(self, maxbit) -> bool @param maxbit: int",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.shift_down",
"url":19,
"doc":"shift_down(self, shift) @param shift: int",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.has",
"url":19,
"doc":"has(self, bit) -> bool @param bit: int",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.has_all",
"url":19,
"doc":"has_all(self, bit, width) -> bool @param bit: int @param width: int",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.has_any",
"url":19,
"doc":"has_any(self, bit, width) -> bool @param bit: int @param width: int",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.dstr",
"url":19,
"doc":"dstr(self) -> char const  ",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.count",
"url":19,
"doc":"count(self) -> int count(self, bit) -> int @param bit: int",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.last",
"url":19,
"doc":"last(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.fill_with_ones",
"url":19,
"doc":"fill_with_ones(self, maxbit) @param maxbit: int",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.has_common",
"url":19,
"doc":"has_common(self, ml) -> bool @param ml: bitset_t const &",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.intersect",
"url":19,
"doc":"intersect(self, ml) -> bool @param ml: bitset_t const &",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.is_subset_of",
"url":19,
"doc":"is_subset_of(self, ml) -> bool @param ml: bitset_t const &",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.includes",
"url":19,
"doc":"includes(self, ml) -> bool @param ml: bitset_t const &",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: bitset_t const &",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.itat",
"url":19,
"doc":"itat(self, n) -> iterator @param n: int",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.begin",
"url":19,
"doc":"begin(self) -> iterator",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.end",
"url":19,
"doc":"end(self) -> iterator",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.front",
"url":19,
"doc":"front(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.back",
"url":19,
"doc":"back(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.inc",
"url":19,
"doc":"inc(self, p, n=1) @param p: bitset_t iterator & @param n: int",
"func":1
},
{
"ref":"ida_hexrays.bitset_t.itv",
"url":19,
"doc":"itv(self, it) -> int @param it: bitset_t const_iterator",
"func":1
},
{
"ref":"ida_hexrays.iterator",
"url":19,
"doc":"Proxy of C bitset_t iterator class. __init__(self, n=-1) -> iterator @param n: int"
},
{
"ref":"ida_hexrays.iterator.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.ivl_t",
"url":19,
"doc":"Proxy of C ivl_t class. __init__(self, _off=0, _size=0) -> ivl_t @param _off: uval_t @param _size: uval_t"
},
{
"ref":"ida_hexrays.ivl_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.ivl_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.ivl_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.ivl_t.dstr",
"url":19,
"doc":"dstr(self) -> char const  ",
"func":1
},
{
"ref":"ida_hexrays.ivl_t.extend_to_cover",
"url":19,
"doc":"extend_to_cover(self, r) -> bool @param r: ivl_t const &",
"func":1
},
{
"ref":"ida_hexrays.ivl_t.intersect",
"url":19,
"doc":"intersect(self, r) @param r: ivl_t const &",
"func":1
},
{
"ref":"ida_hexrays.ivl_t.overlap",
"url":19,
"doc":"overlap(self, ivl) -> bool @param ivl: ivl_t const &",
"func":1
},
{
"ref":"ida_hexrays.ivl_t.includes",
"url":19,
"doc":"includes(self, ivl) -> bool @param ivl: ivl_t const &",
"func":1
},
{
"ref":"ida_hexrays.ivl_t.contains",
"url":19,
"doc":"contains(self, off2) -> bool @param off2: uval_t",
"func":1
},
{
"ref":"ida_hexrays.ivl_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: ivl_t const &",
"func":1
},
{
"ref":"ida_hexrays.ivl_t.off",
"url":19,
"doc":"off"
},
{
"ref":"ida_hexrays.ivl_t.size",
"url":19,
"doc":"size"
},
{
"ref":"ida_hexrays.ivl_t.valid",
"url":19,
"doc":"valid(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.ivl_t.end",
"url":19,
"doc":"end(self) -> unsigned long long",
"func":1
},
{
"ref":"ida_hexrays.ivl_t.last",
"url":19,
"doc":"last(self) -> unsigned long long",
"func":1
},
{
"ref":"ida_hexrays.ivl_with_name_t",
"url":19,
"doc":"Proxy of C ivl_with_name_t class. __init__(self) -> ivl_with_name_t"
},
{
"ref":"ida_hexrays.ivl_with_name_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.ivl_with_name_t.ivl",
"url":19,
"doc":"ivl"
},
{
"ref":"ida_hexrays.ivl_with_name_t.whole",
"url":19,
"doc":"whole"
},
{
"ref":"ida_hexrays.ivl_with_name_t.part",
"url":19,
"doc":"part"
},
{
"ref":"ida_hexrays.ivlset_t",
"url":19,
"doc":"Proxy of C ivlset_t class. __init__(self) -> ivlset_t __init__(self, ivl) -> ivlset_t @param ivl: ivl_t const &"
},
{
"ref":"ida_hexrays.ivlset_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.ivlset_t.add",
"url":19,
"doc":"add(self, ivl) -> bool @param ivl: ivl_t const & add(self, ea, size) -> bool @param ea: ea_t @param size: asize_t add(self, ivs) -> bool @param ivs: ivlset_t const &",
"func":1
},
{
"ref":"ida_hexrays.ivlset_t.addmasked",
"url":19,
"doc":"addmasked(self, ivs, mask) -> bool @param ivs: ivlset_t const & @param mask: ivl_t const &",
"func":1
},
{
"ref":"ida_hexrays.ivlset_t.sub",
"url":19,
"doc":"sub(self, ivl) -> bool @param ivl: ivl_t const & sub(self, ea, size) -> bool @param ea: ea_t @param size: asize_t sub(self, ivs) -> bool @param ivs: ivlset_t const &",
"func":1
},
{
"ref":"ida_hexrays.ivlset_t.dstr",
"url":19,
"doc":"dstr(self) -> char const  ",
"func":1
},
{
"ref":"ida_hexrays.ivlset_t.count",
"url":19,
"doc":"count(self) -> asize_t",
"func":1
},
{
"ref":"ida_hexrays.ivlset_t.has_common",
"url":19,
"doc":"has_common(self, ivl, strict=False) -> bool @param ivl: ivl_t const & @param strict: bool has_common(self, ivs) -> bool @param ivs: ivlset_t const &",
"func":1
},
{
"ref":"ida_hexrays.ivlset_t.contains",
"url":19,
"doc":"contains(self, off) -> bool @param off: uval_t",
"func":1
},
{
"ref":"ida_hexrays.ivlset_t.includes",
"url":19,
"doc":"includes(self, ivs) -> bool @param ivs: ivlset_t const &",
"func":1
},
{
"ref":"ida_hexrays.ivlset_t.intersect",
"url":19,
"doc":"intersect(self, ivs) -> bool @param ivs: ivlset_t const &",
"func":1
},
{
"ref":"ida_hexrays.ivlset_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: ivlset_t const &",
"func":1
},
{
"ref":"ida_hexrays.ivlset_t.swap",
"url":19,
"doc":"swap(self, r) @param r: ivlset_tpl &",
"func":1
},
{
"ref":"ida_hexrays.ivlset_t.getivl",
"url":19,
"doc":"getivl(self, idx) -> ivl_t @param idx: int",
"func":1
},
{
"ref":"ida_hexrays.ivlset_t.lastivl",
"url":19,
"doc":"lastivl(self) -> ivl_t",
"func":1
},
{
"ref":"ida_hexrays.ivlset_t.nivls",
"url":19,
"doc":"nivls(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.ivlset_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.ivlset_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.ivlset_t.qclear",
"url":19,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.ivlset_t.all_values",
"url":19,
"doc":"all_values(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.ivlset_t.set_all_values",
"url":19,
"doc":"set_all_values(self)",
"func":1
},
{
"ref":"ida_hexrays.ivlset_t.single_value",
"url":19,
"doc":"single_value(self) -> bool single_value(self, v) -> bool @param v: unsigned long long",
"func":1
},
{
"ref":"ida_hexrays.ivlset_t.begin",
"url":19,
"doc":"begin(self) -> ivlset_tpl  const_iterator begin(self) -> ivlset_tpl  iterator",
"func":1
},
{
"ref":"ida_hexrays.ivlset_t.end",
"url":19,
"doc":"end(self) -> ivlset_tpl  const_iterator end(self) -> ivlset_tpl  iterator",
"func":1
},
{
"ref":"ida_hexrays.rlist_t",
"url":19,
"doc":"Proxy of C rlist_t class. __init__(self) -> rlist_t __init__(self, m) -> rlist_t @param m: rlist_t const & __init__(self, reg, width) -> rlist_t @param reg: mreg_t @param width: int"
},
{
"ref":"ida_hexrays.rlist_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.rlist_t.dstr",
"url":19,
"doc":"dstr(self) -> char const  ",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.swap",
"url":19,
"doc":"swap(self, r) @param r: bitset_t &",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.copy",
"url":19,
"doc":"copy(self, m) -> bitset_t @param m: bitset_t const &",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.add",
"url":19,
"doc":"add(self, bit) -> bool @param bit: int add(self, bit, width) -> bool @param bit: int @param width: int add(self, ml) -> bool @param ml: bitset_t const &",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.sub",
"url":19,
"doc":"sub(self, bit) -> bool @param bit: int sub(self, bit, width) -> bool @param bit: int @param width: int sub(self, ml) -> bool @param ml: bitset_t const &",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.cut_at",
"url":19,
"doc":"cut_at(self, maxbit) -> bool @param maxbit: int",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.shift_down",
"url":19,
"doc":"shift_down(self, shift) @param shift: int",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.has",
"url":19,
"doc":"has(self, bit) -> bool @param bit: int",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.has_all",
"url":19,
"doc":"has_all(self, bit, width) -> bool @param bit: int @param width: int",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.has_any",
"url":19,
"doc":"has_any(self, bit, width) -> bool @param bit: int @param width: int",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.count",
"url":19,
"doc":"count(self) -> int count(self, bit) -> int @param bit: int",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.last",
"url":19,
"doc":"last(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.fill_with_ones",
"url":19,
"doc":"fill_with_ones(self, maxbit) @param maxbit: int",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.has_common",
"url":19,
"doc":"has_common(self, ml) -> bool @param ml: bitset_t const &",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.intersect",
"url":19,
"doc":"intersect(self, ml) -> bool @param ml: bitset_t const &",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.is_subset_of",
"url":19,
"doc":"is_subset_of(self, ml) -> bool @param ml: bitset_t const &",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.includes",
"url":19,
"doc":"includes(self, ml) -> bool @param ml: bitset_t const &",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: bitset_t const &",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.itat",
"url":19,
"doc":"itat(self, n) -> iterator @param n: int",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.begin",
"url":19,
"doc":"begin(self) -> iterator",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.end",
"url":19,
"doc":"end(self) -> iterator",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.front",
"url":19,
"doc":"front(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.back",
"url":19,
"doc":"back(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.inc",
"url":19,
"doc":"inc(self, p, n=1) @param p: bitset_t iterator & @param n: int",
"func":1
},
{
"ref":"ida_hexrays.rlist_t.itv",
"url":19,
"doc":"itv(self, it) -> int @param it: bitset_t const_iterator",
"func":1
},
{
"ref":"ida_hexrays.mlist_t",
"url":19,
"doc":"Proxy of C mlist_t class. __init__(self) -> mlist_t __init__(self, ivl) -> mlist_t @param ivl: ivl_t const & __init__(self, r, size) -> mlist_t @param r: mreg_t @param size: int"
},
{
"ref":"ida_hexrays.mlist_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.mlist_t.reg",
"url":19,
"doc":"reg"
},
{
"ref":"ida_hexrays.mlist_t.mem",
"url":19,
"doc":"mem"
},
{
"ref":"ida_hexrays.mlist_t.swap",
"url":19,
"doc":"swap(self, r) @param r: mlist_t &",
"func":1
},
{
"ref":"ida_hexrays.mlist_t.addmem",
"url":19,
"doc":"addmem(self, ea, size) -> bool @param ea: ea_t @param size: asize_t",
"func":1
},
{
"ref":"ida_hexrays.mlist_t.add",
"url":19,
"doc":"add(self, r, size) -> bool @param r: mreg_t @param size: int add(self, r) -> bool @param r: rlist_t const & add(self, ivl) -> bool @param ivl: ivl_t const & add(self, lst) -> bool @param lst: mlist_t const &",
"func":1
},
{
"ref":"ida_hexrays.mlist_t.sub",
"url":19,
"doc":"sub(self, r, size) -> bool @param r: mreg_t @param size: int sub(self, ivl) -> bool @param ivl: ivl_t const & sub(self, lst) -> bool @param lst: mlist_t const &",
"func":1
},
{
"ref":"ida_hexrays.mlist_t.count",
"url":19,
"doc":"count(self) -> asize_t",
"func":1
},
{
"ref":"ida_hexrays.mlist_t.dstr",
"url":19,
"doc":"dstr(self) -> char const  ",
"func":1
},
{
"ref":"ida_hexrays.mlist_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mlist_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.mlist_t.has",
"url":19,
"doc":"has(self, r) -> bool @param r: mreg_t",
"func":1
},
{
"ref":"ida_hexrays.mlist_t.has_all",
"url":19,
"doc":"has_all(self, r, size) -> bool @param r: mreg_t @param size: int",
"func":1
},
{
"ref":"ida_hexrays.mlist_t.has_any",
"url":19,
"doc":"has_any(self, r, size) -> bool @param r: mreg_t @param size: int",
"func":1
},
{
"ref":"ida_hexrays.mlist_t.has_memory",
"url":19,
"doc":"has_memory(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mlist_t.has_common",
"url":19,
"doc":"has_common(self, lst) -> bool @param lst: mlist_t const &",
"func":1
},
{
"ref":"ida_hexrays.mlist_t.includes",
"url":19,
"doc":"includes(self, lst) -> bool @param lst: mlist_t const &",
"func":1
},
{
"ref":"ida_hexrays.mlist_t.intersect",
"url":19,
"doc":"intersect(self, lst) -> bool @param lst: mlist_t const &",
"func":1
},
{
"ref":"ida_hexrays.mlist_t.is_subset_of",
"url":19,
"doc":"is_subset_of(self, lst) -> bool @param lst: mlist_t const &",
"func":1
},
{
"ref":"ida_hexrays.mlist_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: mlist_t const &",
"func":1
},
{
"ref":"ida_hexrays.get_temp_regs",
"url":19,
"doc":"get_temp_regs() -> mlist_t Get list of temporary registers. Tempregs are temporary registers that are used during code generation. They do not map to regular processor registers. They are used only to store temporary values during execution of one instruction. Tempregs may not be used to pass a value from one block to another. In other words, at the end of a block all tempregs must be dead.",
"func":1
},
{
"ref":"ida_hexrays.is_kreg",
"url":19,
"doc":"is_kreg(r) -> bool Is a kernel register? Kernel registers are temporary registers that can be used freely. They may be used to store values that cross instruction or basic block boundaries. Kernel registers do not map to regular processor registers. See also mba_t alloc_kreg() @param r: (C : mreg_t)",
"func":1
},
{
"ref":"ida_hexrays.reg2mreg",
"url":19,
"doc":"reg2mreg(reg) -> mreg_t Map a processor register to a microregister. @param reg: (C : int) processor register number @return: microregister register id or mr_none",
"func":1
},
{
"ref":"ida_hexrays.mreg2reg",
"url":19,
"doc":"mreg2reg(reg, width) -> int Map a microregister to a processor register. @param reg: (C : mreg_t) microregister number @param width: (C : int) size of microregister in bytes @return: processor register id or -1",
"func":1
},
{
"ref":"ida_hexrays.get_mreg_name",
"url":19,
"doc":"get_mreg_name(reg, width, ud=None) -> int Get the microregister name. @param reg: (C : mreg_t) microregister number @param width: (C : int) size of microregister in bytes. may be bigger than the real register size. @param ud: (C : void  ) reserved, must be nullptr @return: width of the printed register. this value may be less than the WIDTH argument.",
"func":1
},
{
"ref":"ida_hexrays.optinsn_t",
"url":19,
"doc":"Proxy of C optinsn_t class. __init__(self) -> optinsn_t @param self: PyObject  "
},
{
"ref":"ida_hexrays.optinsn_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.optinsn_t.func",
"url":19,
"doc":"func(self, blk, ins, optflags) -> int Optimize an instruction. @param blk: (C : mblock_t  ) current basic block. maybe nullptr, which means that the instruction must be optimized without context @param ins: (C : minsn_t  ) instruction to optimize; it is always a top-level instruction. the callback may not delete the instruction but may convert it into nop (see mblock_t make_nop). to optimize sub-instructions, visit them using minsn_visitor_t. sub-instructions may not be converted into nop but can be converted to \"mov x,x\". for example: add x,0,x => mov x,x this callback may change other instructions in the block, but should do this with care, e.g. to no break the propagation algorithm if called with OPTI_NO_LDXOPT. @param optflags: (C : int) combination of optimization flags bits @return: number of changes made to the instruction. if after this call the instruction's use/def lists have changed, you must mark the block level lists as dirty (see mark_lists_dirty)",
"func":1
},
{
"ref":"ida_hexrays.optinsn_t.install",
"url":19,
"doc":"install(self)",
"func":1
},
{
"ref":"ida_hexrays.optinsn_t.remove",
"url":19,
"doc":"remove(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.optblock_t",
"url":19,
"doc":"Proxy of C optblock_t class. __init__(self) -> optblock_t @param self: PyObject  "
},
{
"ref":"ida_hexrays.optblock_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.optblock_t.func",
"url":19,
"doc":"func(self, blk) -> int Optimize a block. This function usually performs the optimizations that require analyzing the entire block and/or its neighbors. For example it can recognize patterns and perform conversions like: b0: b0:  .  . jnz x, 0, @b2 => jnz x, 0, @b2 b1: b1: add x, 0, y mov x, y  .  . @param blk: (C : mblock_t  ) Basic block to optimize as a whole. @return: number of changes made to the block. See also mark_lists_dirty.",
"func":1
},
{
"ref":"ida_hexrays.optblock_t.install",
"url":19,
"doc":"install(self)",
"func":1
},
{
"ref":"ida_hexrays.optblock_t.remove",
"url":19,
"doc":"remove(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t",
"url":19,
"doc":"Proxy of C simple_graph_t class. __init__(self) -> gdl_graph_t @param self: PyObject  "
},
{
"ref":"ida_hexrays.simple_graph_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.simple_graph_t.title",
"url":19,
"doc":"title"
},
{
"ref":"ida_hexrays.simple_graph_t.colored_gdl_edges",
"url":19,
"doc":"colored_gdl_edges"
},
{
"ref":"ida_hexrays.simple_graph_t.compute_dominators",
"url":19,
"doc":"compute_dominators(self, domin, post=False) @param domin: array_of_node_bitset_t & @param post: bool",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.compute_immediate_dominators",
"url":19,
"doc":"compute_immediate_dominators(self, domin, idomin, post=False) @param domin: array_of_node_bitset_t const & @param idomin: intvec_t & @param post: bool",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.depth_first_preorder",
"url":19,
"doc":"depth_first_preorder(self, pre) -> int @param pre: node_ordering_t  ",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.depth_first_postorder",
"url":19,
"doc":"depth_first_postorder(self, post) -> int @param post: node_ordering_t  ",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.begin",
"url":19,
"doc":"begin(self) -> simple_graph_t iterator",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.end",
"url":19,
"doc":"end(self) -> simple_graph_t iterator",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.front",
"url":19,
"doc":"front(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.inc",
"url":19,
"doc":"inc(self, p, n=1) @param p: simple_graph_t iterator & @param n: int",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.goup",
"url":19,
"doc":"goup(self, node) -> int @param node: int",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.get_node_label",
"url":15,
"doc":"get_node_label(self, n) -> char  @param n: int",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.print_graph_attributes",
"url":15,
"doc":"print_graph_attributes(self, fp) @param fp: FILE  ",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.print_node",
"url":15,
"doc":"print_node(self, fp, n) -> bool @param fp: FILE  @param n: int",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.print_edge",
"url":15,
"doc":"print_edge(self, fp, i, j) -> bool @param fp: FILE  @param i: int @param j: int",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.print_node_attributes",
"url":15,
"doc":"print_node_attributes(self, fp, n) @param fp: FILE  @param n: int",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.size",
"url":15,
"doc":"size(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.node_qty",
"url":15,
"doc":"node_qty(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.exists",
"url":15,
"doc":"exists(self, node) -> bool @param node: int",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.entry",
"url":15,
"doc":"entry(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.exit",
"url":15,
"doc":"exit(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.nsucc",
"url":15,
"doc":"nsucc(self, node) -> int @param node: int",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.npred",
"url":15,
"doc":"npred(self, node) -> int @param node: int",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.succ",
"url":15,
"doc":"succ(self, node, i) -> int @param node: int @param i: int",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.pred",
"url":15,
"doc":"pred(self, node, i) -> int @param node: int @param i: int",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.empty",
"url":15,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.get_node_color",
"url":15,
"doc":"get_node_color(self, n) -> bgcolor_t @param n: int",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.get_edge_color",
"url":15,
"doc":"get_edge_color(self, i, j) -> bgcolor_t @param i: int @param j: int",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.nedge",
"url":15,
"doc":"nedge(self, node, ispred) -> size_t @param node: int @param ispred: bool",
"func":1
},
{
"ref":"ida_hexrays.simple_graph_t.edge",
"url":15,
"doc":"edge(self, node, i, ispred) -> int @param node: int @param i: int @param ispred: bool",
"func":1
},
{
"ref":"ida_hexrays.op_parent_info_t",
"url":19,
"doc":"Proxy of C op_parent_info_t class. __init__(self, _mba=None, _blk=None, _topins=None) -> op_parent_info_t @param _mba: mba_t  @param _blk: mblock_t  @param _topins: minsn_t  "
},
{
"ref":"ida_hexrays.op_parent_info_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.op_parent_info_t.mba",
"url":19,
"doc":"mba"
},
{
"ref":"ida_hexrays.op_parent_info_t.blk",
"url":19,
"doc":"blk"
},
{
"ref":"ida_hexrays.op_parent_info_t.topins",
"url":19,
"doc":"topins"
},
{
"ref":"ida_hexrays.op_parent_info_t.curins",
"url":19,
"doc":"curins"
},
{
"ref":"ida_hexrays.minsn_visitor_t",
"url":19,
"doc":"Proxy of C minsn_visitor_t class. __init__(self, _mba=None, _blk=None, _topins=None) -> minsn_visitor_t @param _mba: mba_t  @param _blk: mblock_t  @param _topins: minsn_t  "
},
{
"ref":"ida_hexrays.minsn_visitor_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.minsn_visitor_t.visit_minsn",
"url":19,
"doc":"visit_minsn(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.minsn_visitor_t.mba",
"url":19,
"doc":"mba"
},
{
"ref":"ida_hexrays.minsn_visitor_t.blk",
"url":19,
"doc":"blk"
},
{
"ref":"ida_hexrays.minsn_visitor_t.topins",
"url":19,
"doc":"topins"
},
{
"ref":"ida_hexrays.minsn_visitor_t.curins",
"url":19,
"doc":"curins"
},
{
"ref":"ida_hexrays.mop_visitor_t",
"url":19,
"doc":"Proxy of C mop_visitor_t class. __init__(self, _mba=None, _blk=None, _topins=None) -> mop_visitor_t @param _mba: mba_t  @param _blk: mblock_t  @param _topins: minsn_t  "
},
{
"ref":"ida_hexrays.mop_visitor_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.mop_visitor_t.prune",
"url":19,
"doc":"Should skip sub-operands of the current operand? visit_mop() may set 'prune=true' for that."
},
{
"ref":"ida_hexrays.mop_visitor_t.visit_mop",
"url":19,
"doc":"visit_mop(self, op, type, is_target) -> int @param op: mop_t  @param type: tinfo_t const  @param is_target: bool",
"func":1
},
{
"ref":"ida_hexrays.mop_visitor_t.mba",
"url":19,
"doc":"mba"
},
{
"ref":"ida_hexrays.mop_visitor_t.blk",
"url":19,
"doc":"blk"
},
{
"ref":"ida_hexrays.mop_visitor_t.topins",
"url":19,
"doc":"topins"
},
{
"ref":"ida_hexrays.mop_visitor_t.curins",
"url":19,
"doc":"curins"
},
{
"ref":"ida_hexrays.scif_visitor_t",
"url":19,
"doc":"Proxy of C scif_visitor_t class. __init__(self) -> scif_visitor_t @param self: PyObject  "
},
{
"ref":"ida_hexrays.scif_visitor_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.scif_visitor_t.visit_scif_mop",
"url":19,
"doc":"visit_scif_mop(self, r, off) -> int @param r: mop_t const & @param off: int",
"func":1
},
{
"ref":"ida_hexrays.mlist_mop_visitor_t",
"url":19,
"doc":"Proxy of C mlist_mop_visitor_t class. __init__(self) -> mlist_mop_visitor_t @param self: PyObject  "
},
{
"ref":"ida_hexrays.mlist_mop_visitor_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.mlist_mop_visitor_t.topins",
"url":19,
"doc":"topins"
},
{
"ref":"ida_hexrays.mlist_mop_visitor_t.curins",
"url":19,
"doc":"curins"
},
{
"ref":"ida_hexrays.mlist_mop_visitor_t.changed",
"url":19,
"doc":"changed"
},
{
"ref":"ida_hexrays.mlist_mop_visitor_t.list",
"url":19,
"doc":"list"
},
{
"ref":"ida_hexrays.mlist_mop_visitor_t.prune",
"url":19,
"doc":"Should skip sub-operands of the current operand? visit_mop() may set 'prune=true' for that."
},
{
"ref":"ida_hexrays.mlist_mop_visitor_t.visit_mop",
"url":19,
"doc":"visit_mop(self, op) -> int @param op: mop_t  ",
"func":1
},
{
"ref":"ida_hexrays.lvar_ref_t",
"url":19,
"doc":"Proxy of C lvar_ref_t class. __init__(self, m, i, o=0) -> lvar_ref_t @param m: mba_t  @param i: int @param o: sval_t __init__(self, r) -> lvar_ref_t @param r: lvar_ref_t const &"
},
{
"ref":"ida_hexrays.lvar_ref_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.lvar_ref_t.mba",
"url":19,
"doc":"Pointer to the parent mba_t object. Since we need to access the 'mba->vars' array in order to retrieve the referenced variable, we keep a pointer to mba_t here. Note: this means this class and consequently mop_t, minsn_t, mblock_t are specific to a mba_t object and cannot migrate between them. fortunately this is not something we need to do. second, lvar_ref_t's appear only after MMAT_LVARS."
},
{
"ref":"ida_hexrays.lvar_ref_t.off",
"url":19,
"doc":"offset from the beginning of the variable"
},
{
"ref":"ida_hexrays.lvar_ref_t.idx",
"url":19,
"doc":"index into mba->vars"
},
{
"ref":"ida_hexrays.lvar_ref_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: lvar_ref_t const &",
"func":1
},
{
"ref":"ida_hexrays.lvar_ref_t.swap",
"url":19,
"doc":"swap(self, r) @param r: lvar_ref_t &",
"func":1
},
{
"ref":"ida_hexrays.lvar_ref_t.var",
"url":19,
"doc":"var(self) -> lvar_t Retrieve the referenced variable.",
"func":1
},
{
"ref":"ida_hexrays.mop_z",
"url":19,
"doc":"none"
},
{
"ref":"ida_hexrays.mop_r",
"url":19,
"doc":"register (they exist until MMAT_LVARS)"
},
{
"ref":"ida_hexrays.mop_n",
"url":19,
"doc":"immediate number constant"
},
{
"ref":"ida_hexrays.mop_str",
"url":19,
"doc":"immediate string constant (user representation)"
},
{
"ref":"ida_hexrays.mop_d",
"url":19,
"doc":"result of another instruction"
},
{
"ref":"ida_hexrays.mop_S",
"url":19,
"doc":"local stack variable (they exist until MMAT_LVARS)"
},
{
"ref":"ida_hexrays.mop_v",
"url":19,
"doc":"global variable"
},
{
"ref":"ida_hexrays.mop_b",
"url":19,
"doc":"micro basic block (mblock_t)"
},
{
"ref":"ida_hexrays.mop_f",
"url":19,
"doc":"list of arguments"
},
{
"ref":"ida_hexrays.mop_l",
"url":19,
"doc":"local variable"
},
{
"ref":"ida_hexrays.mop_a",
"url":19,
"doc":"mop_addr_t: address of operand (mop_l, mop_v, mop_S, mop_r)"
},
{
"ref":"ida_hexrays.mop_h",
"url":19,
"doc":"helper function"
},
{
"ref":"ida_hexrays.mop_c",
"url":19,
"doc":"mcases"
},
{
"ref":"ida_hexrays.mop_fn",
"url":19,
"doc":"floating point constant"
},
{
"ref":"ida_hexrays.mop_p",
"url":19,
"doc":"operand pair"
},
{
"ref":"ida_hexrays.mop_sc",
"url":19,
"doc":"scattered"
},
{
"ref":"ida_hexrays.NOSIZE",
"url":19,
"doc":"wrong or unexisting operand size"
},
{
"ref":"ida_hexrays.stkvar_ref_t",
"url":19,
"doc":"Proxy of C stkvar_ref_t class. __init__(self, m, o) -> stkvar_ref_t @param m: mba_t  @param o: sval_t"
},
{
"ref":"ida_hexrays.stkvar_ref_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.stkvar_ref_t.mba",
"url":19,
"doc":"Pointer to the parent mba_t object. We need it in order to retrieve the referenced stack variable. See notes for lvar_ref_t mba."
},
{
"ref":"ida_hexrays.stkvar_ref_t.off",
"url":19,
"doc":"Offset to the stack variable from the bottom of the stack frame. It is called 'decompiler stkoff' and it is different from IDA stkoff. See a note and a picture about 'decompiler stkoff' below."
},
{
"ref":"ida_hexrays.stkvar_ref_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: stkvar_ref_t const &",
"func":1
},
{
"ref":"ida_hexrays.stkvar_ref_t.swap",
"url":19,
"doc":"swap(self, r) @param r: stkvar_ref_t &",
"func":1
},
{
"ref":"ida_hexrays.stkvar_ref_t.get_stkvar",
"url":19,
"doc":"get_stkvar(self, udm=None, p_off=None) -> ssize_t Retrieve the referenced stack variable. @param udm: (C : udm_t  ) stkvar, may be nullptr @param p_off: (C : uval_t  ) if specified, will hold IDA stkoff after the call. @return: index of stkvar in the frame or -1",
"func":1
},
{
"ref":"ida_hexrays.scif_t",
"url":19,
"doc":"Proxy of C scif_t class. __init__(self, _mba, tif, n=None) -> scif_t @param _mba: mba_t  @param tif: tinfo_t  @param n: qstring  "
},
{
"ref":"ida_hexrays.scif_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.scif_t.mba",
"url":19,
"doc":"Pointer to the parent mba_t object. Some operations may convert a scattered operand into something simpler, (a stack operand, for example). We will need to create stkvar_ref_t at that moment, this is why we need this pointer. See notes for lvar_ref_t mba."
},
{
"ref":"ida_hexrays.scif_t.name",
"url":19,
"doc":"Usually scattered operands are created from a function prototype, which has the name information. We preserve it and use it to name the corresponding local variable."
},
{
"ref":"ida_hexrays.scif_t.type",
"url":19,
"doc":"Scattered operands always have type info assigned to them because without it we won't be able to manipulte them."
},
{
"ref":"ida_hexrays.scif_t.reg1",
"url":19,
"doc":"reg1(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.scif_t.set_reg1",
"url":19,
"doc":"set_reg1(self, r1) @param r1: int",
"func":1
},
{
"ref":"ida_hexrays.scif_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: vdloc_t const &",
"func":1
},
{
"ref":"ida_hexrays.scif_t.is_aliasable",
"url":19,
"doc":"is_aliasable(self, mb, size) -> bool @param mb: mba_t const  @param size: int",
"func":1
},
{
"ref":"ida_hexrays.scif_t.swap",
"url":20,
"doc":"swap(self, r) Assign this  r and r  this. @param r: (C : argloc_t &)",
"func":1
},
{
"ref":"ida_hexrays.scif_t.atype",
"url":20,
"doc":"atype(self) -> argloc_type_t Get type (Argument location types)",
"func":1
},
{
"ref":"ida_hexrays.scif_t.is_reg1",
"url":20,
"doc":"is_reg1(self) -> bool See ALOC_REG1.",
"func":1
},
{
"ref":"ida_hexrays.scif_t.is_reg2",
"url":20,
"doc":"is_reg2(self) -> bool See ALOC_REG2.",
"func":1
},
{
"ref":"ida_hexrays.scif_t.is_reg",
"url":20,
"doc":"is_reg(self) -> bool is_reg1()  is_reg2()",
"func":1
},
{
"ref":"ida_hexrays.scif_t.is_rrel",
"url":20,
"doc":"is_rrel(self) -> bool See ALOC_RREL.",
"func":1
},
{
"ref":"ida_hexrays.scif_t.is_ea",
"url":20,
"doc":"is_ea(self) -> bool See ALOC_STATIC.",
"func":1
},
{
"ref":"ida_hexrays.scif_t.is_stkoff",
"url":20,
"doc":"is_stkoff(self) -> bool See ALOC_STACK.",
"func":1
},
{
"ref":"ida_hexrays.scif_t.is_scattered",
"url":20,
"doc":"is_scattered(self) -> bool See ALOC_DIST.",
"func":1
},
{
"ref":"ida_hexrays.scif_t.has_reg",
"url":20,
"doc":"has_reg(self) -> bool TRUE if argloc has a register part.",
"func":1
},
{
"ref":"ida_hexrays.scif_t.has_stkoff",
"url":20,
"doc":"has_stkoff(self) -> bool TRUE if argloc has a stack part.",
"func":1
},
{
"ref":"ida_hexrays.scif_t.is_mixed_scattered",
"url":20,
"doc":"is_mixed_scattered(self) -> bool mixed scattered: consists of register and stack parts",
"func":1
},
{
"ref":"ida_hexrays.scif_t.in_stack",
"url":20,
"doc":"in_stack(self) -> bool TRUE if argloc is in stack entirely.",
"func":1
},
{
"ref":"ida_hexrays.scif_t.is_fragmented",
"url":20,
"doc":"is_fragmented(self) -> bool is_scattered()  is_reg2()",
"func":1
},
{
"ref":"ida_hexrays.scif_t.is_custom",
"url":20,
"doc":"is_custom(self) -> bool See ALOC_CUSTOM.",
"func":1
},
{
"ref":"ida_hexrays.scif_t.is_badloc",
"url":20,
"doc":"is_badloc(self) -> bool See ALOC_NONE.",
"func":1
},
{
"ref":"ida_hexrays.scif_t.regoff",
"url":20,
"doc":"regoff(self) -> int Get offset from the beginning of the register in bytes. Use when atype()  ALOC_REG1",
"func":1
},
{
"ref":"ida_hexrays.scif_t.reg2",
"url":20,
"doc":"reg2(self) -> int Get info for the second register. Use when atype()  ALOC_REG2",
"func":1
},
{
"ref":"ida_hexrays.scif_t.get_reginfo",
"url":20,
"doc":"get_reginfo(self) -> uint32 Get all register info. Use when atype()  ALOC_REG1 or ALOC_REG2",
"func":1
},
{
"ref":"ida_hexrays.scif_t.stkoff",
"url":20,
"doc":"stkoff(self) -> sval_t Get the stack offset. Use if atype()  ALOC_STACK",
"func":1
},
{
"ref":"ida_hexrays.scif_t.get_ea",
"url":20,
"doc":"get_ea(self) -> ea_t Get the global address. Use when atype()  ALOC_STATIC",
"func":1
},
{
"ref":"ida_hexrays.scif_t.scattered",
"url":20,
"doc":"scattered(self) -> scattered_aloc_t Get scattered argument info. Use when atype()  ALOC_DIST",
"func":1
},
{
"ref":"ida_hexrays.scif_t.get_rrel",
"url":20,
"doc":"get_rrel(self) -> rrel_t Get register-relative info. Use when atype()  ALOC_RREL",
"func":1
},
{
"ref":"ida_hexrays.scif_t.get_custom",
"url":20,
"doc":"get_custom(self) -> void  Get custom argloc info. Use if atype()  ALOC_CUSTOM",
"func":1
},
{
"ref":"ida_hexrays.scif_t.get_biggest",
"url":20,
"doc":"get_biggest(self) -> argloc_t biggest_t Get largest element in internal union.",
"func":1
},
{
"ref":"ida_hexrays.scif_t.set_reg2",
"url":20,
"doc":"set_reg2(self, _reg1, _reg2) Set secondary register location. @param _reg1: (C : int) @param _reg2: (C : int)",
"func":1
},
{
"ref":"ida_hexrays.scif_t.set_stkoff",
"url":20,
"doc":"set_stkoff(self, off) Set stack offset location. @param off: (C : sval_t)",
"func":1
},
{
"ref":"ida_hexrays.scif_t.set_ea",
"url":20,
"doc":"set_ea(self, _ea) Set static ea location. @param _ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_hexrays.scif_t.consume_rrel",
"url":20,
"doc":"consume_rrel(self, p) Set register-relative location - can't be nullptr. @param p: (C : rrel_t  )",
"func":1
},
{
"ref":"ida_hexrays.scif_t.set_badloc",
"url":20,
"doc":"set_badloc(self) Set to invalid location.",
"func":1
},
{
"ref":"ida_hexrays.scif_t.calc_offset",
"url":20,
"doc":"calc_offset(self) -> sval_t Calculate offset that can be used to compare 2 similar arglocs.",
"func":1
},
{
"ref":"ida_hexrays.scif_t.advance",
"url":20,
"doc":"advance(self, delta) -> bool Move the location to point 'delta' bytes further. @param delta: (C : int)",
"func":1
},
{
"ref":"ida_hexrays.scif_t.align_reg_high",
"url":20,
"doc":"align_reg_high(self, size, _slotsize) Set register offset to align it to the upper part of _SLOTSIZE. @param size: (C : size_t) @param _slotsize: (C : size_t)",
"func":1
},
{
"ref":"ida_hexrays.scif_t.align_stkoff_high",
"url":20,
"doc":"align_stkoff_high(self, size, _slotsize) Set stack offset to align to the upper part of _SLOTSIZE. @param size: (C : size_t) @param _slotsize: (C : size_t)",
"func":1
},
{
"ref":"ida_hexrays.scif_t.consume_scattered",
"url":20,
"doc":"consume_scattered(self, p) Set distributed argument location. @param p: (C : scattered_aloc_t  ) scattered_aloc_t const &",
"func":1
},
{
"ref":"ida_hexrays.mnumber_t",
"url":19,
"doc":"Proxy of C mnumber_t class. __init__(self, v, _ea=BADADDR, n=0) -> mnumber_t @param v: uint64 @param _ea: ea_t @param n: int"
},
{
"ref":"ida_hexrays.mnumber_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.mnumber_t.value",
"url":19,
"doc":"value"
},
{
"ref":"ida_hexrays.mnumber_t.org_value",
"url":19,
"doc":"org_value"
},
{
"ref":"ida_hexrays.mnumber_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: mnumber_t const &",
"func":1
},
{
"ref":"ida_hexrays.mnumber_t.update_value",
"url":19,
"doc":"update_value(self, val64) @param val64: uint64",
"func":1
},
{
"ref":"ida_hexrays.mnumber_t.ea",
"url":19,
"doc":"address of the original processor instruction"
},
{
"ref":"ida_hexrays.mnumber_t.opnum",
"url":19,
"doc":"operand number in the instruction"
},
{
"ref":"ida_hexrays.fnumber_t",
"url":19,
"doc":"Proxy of C fnumber_t class. __init__(self) -> fnumber_t"
},
{
"ref":"ida_hexrays.fnumber_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.fnumber_t.fnum",
"url":19,
"doc":"Internal representation of the number."
},
{
"ref":"ida_hexrays.fnumber_t.nbytes",
"url":19,
"doc":"Original size of the constant in bytes."
},
{
"ref":"ida_hexrays.fnumber_t.dereference_uint16",
"url":19,
"doc":"dereference_uint16(self) -> uint16  ",
"func":1
},
{
"ref":"ida_hexrays.fnumber_t.dereference_const_uint16",
"url":19,
"doc":"dereference_const_uint16(self) -> uint16 const  ",
"func":1
},
{
"ref":"ida_hexrays.fnumber_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: fnumber_t const &",
"func":1
},
{
"ref":"ida_hexrays.fnumber_t.calc_max_exp",
"url":19,
"doc":"calc_max_exp(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.fnumber_t.is_nan",
"url":19,
"doc":"is_nan(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.SHINS_NUMADDR",
"url":19,
"doc":"display definition addresses for numbers"
},
{
"ref":"ida_hexrays.SHINS_VALNUM",
"url":19,
"doc":"display value numbers"
},
{
"ref":"ida_hexrays.SHINS_SHORT",
"url":19,
"doc":"do not display use-def chains and other attrs"
},
{
"ref":"ida_hexrays.SHINS_LDXEA",
"url":19,
"doc":"display address of ldx expressions (not used)"
},
{
"ref":"ida_hexrays.NO_SIDEFF",
"url":19,
"doc":"change operand size but ignore side effects if you decide to keep the changed operand, handle_new_size() must be called"
},
{
"ref":"ida_hexrays.WITH_SIDEFF",
"url":19,
"doc":"change operand size and handle side effects"
},
{
"ref":"ida_hexrays.ONLY_SIDEFF",
"url":19,
"doc":"only handle side effects"
},
{
"ref":"ida_hexrays.ANY_REGSIZE",
"url":19,
"doc":"any register size is permitted"
},
{
"ref":"ida_hexrays.ANY_FPSIZE",
"url":19,
"doc":"any size of floating operand is permitted"
},
{
"ref":"ida_hexrays.mop_t",
"url":19,
"doc":"Proxy of C mop_t class. __init__(self) -> mop_t __init__(self, rop) -> mop_t @param rop: mop_t const & __init__(self, _r, _s) -> mop_t @param _r: mreg_t @param _s: int"
},
{
"ref":"ida_hexrays.mop_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.mop_t.t",
"url":19,
"doc":"Operand type."
},
{
"ref":"ida_hexrays.mop_t.oprops",
"url":19,
"doc":"Operand properties."
},
{
"ref":"ida_hexrays.mop_t.valnum",
"url":19,
"doc":"Value number. Zero means unknown. Operands with the same value number are equal."
},
{
"ref":"ida_hexrays.mop_t.size",
"url":19,
"doc":"Operand size. Usually it is 1,2,4,8 or NOSIZE but for UDTs other sizes are permitted"
},
{
"ref":"ida_hexrays.mop_t.set_impptr_done",
"url":19,
"doc":"set_impptr_done(self)",
"func":1
},
{
"ref":"ida_hexrays.mop_t.set_udt",
"url":19,
"doc":"set_udt(self)",
"func":1
},
{
"ref":"ida_hexrays.mop_t.set_undef_val",
"url":19,
"doc":"set_undef_val(self)",
"func":1
},
{
"ref":"ida_hexrays.mop_t.set_lowaddr",
"url":19,
"doc":"set_lowaddr(self)",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_impptr_done",
"url":19,
"doc":"is_impptr_done(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_udt",
"url":19,
"doc":"is_udt(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_t.probably_floating",
"url":19,
"doc":"probably_floating(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_undef_val",
"url":19,
"doc":"is_undef_val(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_lowaddr",
"url":19,
"doc":"is_lowaddr(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_ccflags",
"url":19,
"doc":"is_ccflags(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_pcval",
"url":19,
"doc":"is_pcval(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_glbaddr_from_fixup",
"url":19,
"doc":"is_glbaddr_from_fixup(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_t.assign",
"url":19,
"doc":"assign(self, rop) -> mop_t @param rop: mop_t const &",
"func":1
},
{
"ref":"ida_hexrays.mop_t.zero",
"url":19,
"doc":"zero(self)",
"func":1
},
{
"ref":"ida_hexrays.mop_t.swap",
"url":19,
"doc":"swap(self, rop) @param rop: mop_t &",
"func":1
},
{
"ref":"ida_hexrays.mop_t.erase",
"url":19,
"doc":"erase(self)",
"func":1
},
{
"ref":"ida_hexrays.mop_t.erase_but_keep_size",
"url":19,
"doc":"erase_but_keep_size(self)",
"func":1
},
{
"ref":"ida_hexrays.mop_t.dstr",
"url":19,
"doc":"dstr(self) -> char const  ",
"func":1
},
{
"ref":"ida_hexrays.mop_t.create_from_mlist",
"url":19,
"doc":"create_from_mlist(self, mba, lst, fullsize) -> bool Create operand from mlist_t. Example: if LST contains 4 bits for R0.4, our operand will be (t=mop_r, r=R0, size=4) @param mba: (C : mba_t  ) pointer to microcode @param lst: (C : const mlist_t &) list of locations @param fullsize: (C : sval_t) mba->fullsize @return: success",
"func":1
},
{
"ref":"ida_hexrays.mop_t.create_from_ivlset",
"url":19,
"doc":"create_from_ivlset(self, mba, ivs, fullsize) -> bool Create operand from ivlset_t. Example: if IVS contains [glbvar glbvar+4), our operand will be (t=mop_v, g=&glbvar, size=4) @param mba: (C : mba_t  ) pointer to microcode @param ivs: (C : const ivlset_t &) set of memory intervals @param fullsize: (C : sval_t) mba->fullsize @return: success",
"func":1
},
{
"ref":"ida_hexrays.mop_t.create_from_vdloc",
"url":19,
"doc":"create_from_vdloc(self, mba, loc, _size) Create operand from vdloc_t. Example: if LOC contains (type=ALOC_REG1, r=R0), our operand will be (t=mop_r, r=R0, size=_SIZE) @param mba: (C : mba_t  ) pointer to microcode @param loc: (C : const vdloc_t &) location @param _size: (C : int) operand size Note: this function cannot handle scattered locations. @return: success",
"func":1
},
{
"ref":"ida_hexrays.mop_t.create_from_scattered_vdloc",
"url":19,
"doc":"create_from_scattered_vdloc(self, mba, name, type, loc) Create operand from scattered vdloc_t. Example: if LOC is (ALOC_DIST, {EAX.4, EDX.4}) and TYPE is _LARGE_INTEGER, our operand will be (t=mop_sc, scif={EAX.4, EDX.4}) @param mba: (C : mba_t  ) pointer to microcode @param name: (C : const char  ) name of the operand, if available @param type: (C : tinfo_t) type of the operand, must be present @param loc: (C : const vdloc_t &) a scattered location @return: success",
"func":1
},
{
"ref":"ida_hexrays.mop_t.create_from_insn",
"url":19,
"doc":"create_from_insn(self, m) Create operand from an instruction. This function creates a nested instruction that can be used as an operand. Example: if m=\"add x,y,z\", our operand will be (t=mop_d,d=m). The destination operand of 'add' (z) is lost. @param m: (C : const minsn_t  ) instruction to embed into operand. may not be nullptr.",
"func":1
},
{
"ref":"ida_hexrays.mop_t.make_number",
"url":19,
"doc":"make_number(self, _value, _size, _ea=BADADDR, opnum=0) Create an integer constant operand. @param _value: (C : uint64) value to store in the operand @param _size: (C : int) size of the value in bytes (1,2,4,8) @param _ea: (C : ea_t) address of the processor instruction that made the value @param opnum: (C : int) operand number of the processor instruction",
"func":1
},
{
"ref":"ida_hexrays.mop_t.make_fpnum",
"url":19,
"doc":"make_fpnum(self, bytes) -> bool Create a floating point constant operand. @param bytes: (C : const void  ) pointer to the floating point value as used by the current processor (e.g. for x86 it must be in IEEE 754) @return: success",
"func":1
},
{
"ref":"ida_hexrays.mop_t.make_reg",
"url":19,
"doc":"make_reg(self, reg) @param reg: mreg_t make_reg(self, reg, _size) @param reg: mreg_t @param _size: int",
"func":1
},
{
"ref":"ida_hexrays.mop_t.make_gvar",
"url":19,
"doc":"make_gvar(self, ea) Create a global variable operand. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_hexrays.mop_t.make_stkvar",
"url":19,
"doc":"make_stkvar(self, mba, off) @param mba: mba_t  @param off: sval_t",
"func":1
},
{
"ref":"ida_hexrays.mop_t.make_reg_pair",
"url":19,
"doc":"make_reg_pair(self, loreg, hireg, halfsize) Create pair of registers. @param loreg: (C : int) register holding the low part of the value @param hireg: (C : int) register holding the high part of the value @param halfsize: (C : int) the size of each of loreg/hireg",
"func":1
},
{
"ref":"ida_hexrays.mop_t.make_insn",
"url":19,
"doc":"make_insn(self, ins) Create a nested instruction. @param ins: (C : minsn_t  )",
"func":1
},
{
"ref":"ida_hexrays.mop_t.make_blkref",
"url":19,
"doc":"make_blkref(self, blknum) Create a global variable operand. @param blknum: (C : int)",
"func":1
},
{
"ref":"ida_hexrays.mop_t.make_helper",
"url":19,
"doc":"make_helper(self, name) Create a helper operand. A helper operand usually keeps a built-in function name like \"va_start\" It is essentially just an arbitrary identifier without any additional info. @param name: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_hexrays.mop_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_reg",
"url":19,
"doc":"is_reg(self) -> bool Is the specified register of the specified size? is_reg(self, _r) -> bool @param _r: mreg_t is_reg(self, _r, _size) -> bool @param _r: mreg_t @param _size: int",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_arglist",
"url":19,
"doc":"is_arglist(self) -> bool Is a list of arguments?",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_cc",
"url":19,
"doc":"is_cc(self) -> bool Is a condition code?",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_bit_reg",
"url":19,
"doc":"is_bit_reg(self, reg) -> bool Is a bit register? This includes condition codes and eventually other bit registers @param reg: (C : mreg_t) is_bit_reg(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_kreg",
"url":19,
"doc":"is_kreg(self) -> bool Is a kernel register?",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_mob",
"url":19,
"doc":"is_mob(self, serial) -> bool Is a block reference to the specified block? @param serial: (C : int)",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_scattered",
"url":19,
"doc":"is_scattered(self) -> bool Is a scattered operand?",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_glbaddr",
"url":19,
"doc":"is_glbaddr(self) -> bool Is address of the specified global memory cell? is_glbaddr(self, ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_stkaddr",
"url":19,
"doc":"is_stkaddr(self) -> bool Is address of a stack variable?",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_insn",
"url":19,
"doc":"is_insn(self) -> bool Is a sub-instruction with the specified opcode? is_insn(self, code) -> bool @param code: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.mop_t.has_side_effects",
"url":19,
"doc":"has_side_effects(self, include_ldx_and_divs=False) -> bool Has any side effects? @param include_ldx_and_divs: (C : bool) consider ldx/div/mod as having side effects?",
"func":1
},
{
"ref":"ida_hexrays.mop_t.may_use_aliased_memory",
"url":19,
"doc":"may_use_aliased_memory(self) -> bool Is it possible for the operand to use aliased memory?",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is01",
"url":19,
"doc":"is01(self) -> bool Are the possible values of the operand only 0 and 1? This function returns true for 0/1 constants, bit registers, the result of 'set' insns, etc.",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_sign_extended_from",
"url":19,
"doc":"is_sign_extended_from(self, nbytes) -> bool Does the high part of the operand consist of the sign bytes? @param nbytes: (C : int) number of bytes that were sign extended. the remaining size- nbytes high bytes must be sign bytes Example: is_sign_extended_from(xds.4(op.1), 1) -> true because the high 3 bytes are certainly sign bits",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_zero_extended_from",
"url":19,
"doc":"is_zero_extended_from(self, nbytes) -> bool Does the high part of the operand consist of zero bytes? @param nbytes: (C : int) number of bytes that were zero extended. the remaining size- nbytes high bytes must be zero Example: is_zero_extended_from(xdu.8(op.1), 2) -> true because the high 6 bytes are certainly zero",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_extended_from",
"url":19,
"doc":"is_extended_from(self, nbytes, is_signed) -> bool Does the high part of the operand consist of zero or sign bytes? @param nbytes: (C : int) @param is_signed: (C : bool)",
"func":1
},
{
"ref":"ida_hexrays.mop_t.equal_mops",
"url":19,
"doc":"equal_mops(self, rop, eqflags) -> bool Compare operands. This is the main comparison function for operands. @param rop: (C : const mop_t &) operand to compare with @param eqflags: (C : int) combination of comparison bits bits",
"func":1
},
{
"ref":"ida_hexrays.mop_t.lexcompare",
"url":19,
"doc":"lexcompare(self, rop) -> int @param rop: mop_t const &",
"func":1
},
{
"ref":"ida_hexrays.mop_t.for_all_ops",
"url":19,
"doc":"for_all_ops(self, mv, type=None, is_target=False) -> int Visit the operand and all its sub-operands. This function visits the current operand as well. @param mv: (C : mop_visitor_t &) visitor object @param type: (C : const tinfo_t  ) operand type @param is_target: (C : bool) is a destination operand?",
"func":1
},
{
"ref":"ida_hexrays.mop_t.for_all_scattered_submops",
"url":19,
"doc":"for_all_scattered_submops(self, sv) -> int Visit all sub-operands of a scattered operand. This function does not visit the current operand, only its sub-operands. All sub-operands are synthetic and are destroyed after the visitor. This function works only with scattered operands. @param sv: (C : scif_visitor_t &) visitor object",
"func":1
},
{
"ref":"ida_hexrays.mop_t.value",
"url":19,
"doc":"value(self, is_signed) -> uint64 Retrieve value of a constant integer operand. These functions can be called only for mop_n operands. See is_constant() that can be called on any operand. @param is_signed: (C : bool)",
"func":1
},
{
"ref":"ida_hexrays.mop_t.signed_value",
"url":19,
"doc":"signed_value(self) -> int64",
"func":1
},
{
"ref":"ida_hexrays.mop_t.unsigned_value",
"url":19,
"doc":"unsigned_value(self) -> uint64",
"func":1
},
{
"ref":"ida_hexrays.mop_t.update_numop_value",
"url":19,
"doc":"update_numop_value(self, val) @param val: uint64",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_constant",
"url":19,
"doc":"is_constant(self, is_signed=True) -> bool Retrieve value of a constant integer operand. @param is_signed: (C : bool) should treat the value as signed @return: true if the operand is mop_n",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_equal_to",
"url":19,
"doc":"is_equal_to(self, n, is_signed=True) -> bool @param n: uint64 @param is_signed: bool",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_zero",
"url":19,
"doc":"is_zero(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_one",
"url":19,
"doc":"is_one(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_positive_constant",
"url":19,
"doc":"is_positive_constant(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_t.is_negative_constant",
"url":19,
"doc":"is_negative_constant(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_t.get_stkvar",
"url":19,
"doc":"get_stkvar(self, udm=None, p_off=None) -> ssize_t Retrieve the referenced stack variable. @param udm: (C : udm_t  ) stkvar, may be nullptr @param p_off: (C : uval_t  ) if specified, will hold IDA stkoff after the call. @return: index of stkvar in the frame or -1",
"func":1
},
{
"ref":"ida_hexrays.mop_t.get_stkoff",
"url":19,
"doc":"get_stkoff(self, p_off) -> bool Get the referenced stack offset. This function can also handle mop_sc if it is entirely mapped into a continuous stack region. @param p_off: (C : sval_t  ) the output buffer @return: success",
"func":1
},
{
"ref":"ida_hexrays.mop_t.get_insn",
"url":19,
"doc":"get_insn(self, code) -> minsn_t @param code: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.mop_t.make_low_half",
"url":19,
"doc":"make_low_half(self, width) -> bool Make the low part of the operand. This function takes into account the memory endianness (byte sex) @param width: (C : int) the desired size of the operand part in bytes @return: success",
"func":1
},
{
"ref":"ida_hexrays.mop_t.make_high_half",
"url":19,
"doc":"make_high_half(self, width) -> bool Make the high part of the operand. This function takes into account the memory endianness (byte sex) @param width: (C : int) the desired size of the operand part in bytes @return: success",
"func":1
},
{
"ref":"ida_hexrays.mop_t.make_first_half",
"url":19,
"doc":"make_first_half(self, width) -> bool Make the first part of the operand. This function does not care about the memory endianness @param width: (C : int) the desired size of the operand part in bytes @return: success",
"func":1
},
{
"ref":"ida_hexrays.mop_t.make_second_half",
"url":19,
"doc":"make_second_half(self, width) -> bool Make the second part of the operand. This function does not care about the memory endianness @param width: (C : int) the desired size of the operand part in bytes @return: success",
"func":1
},
{
"ref":"ida_hexrays.mop_t.shift_mop",
"url":19,
"doc":"shift_mop(self, offset) -> bool Shift the operand. This function shifts only the beginning of the operand. The operand size will be changed. Examples: shift_mop(AH.1, -1) -> AX.2 shift_mop(qword_00000008.8, 4) -> dword_0000000C.4 shift_mop(xdu.8(op.4), 4) ->  0.4 shift_mop( 0x12345678.4, 3) ->  12.1 @param offset: (C : int) shift count (the number of bytes to shift) @return: success",
"func":1
},
{
"ref":"ida_hexrays.mop_t.change_size",
"url":19,
"doc":"change_size(self, nsize, sideff=WITH_SIDEFF) -> bool Change the operand size. Examples: change_size(AL.1, 2) -> AX.2 change_size(qword_00000008.8, 4) -> dword_00000008.4 change_size(xdu.8(op.4), 4) -> op.4 change_size( 0x12345678.4, 1) ->  0x78.1 @param nsize: (C : int) new operand size @param sideff: (C : side_effect_t) may modify the database because of the size change? @return: success",
"func":1
},
{
"ref":"ida_hexrays.mop_t.double_size",
"url":19,
"doc":"double_size(self, sideff=WITH_SIDEFF) -> bool @param sideff: enum side_effect_t",
"func":1
},
{
"ref":"ida_hexrays.mop_t.preserve_side_effects",
"url":19,
"doc":"preserve_side_effects(self, blk, top, moved_calls=None) -> bool Move subinstructions with side effects out of the operand. If we decide to delete an instruction operand, it is a good idea to call this function. Alternatively we should skip such operands by calling mop_t has_side_effects() For example, if we transform: jnz x, x, @blk => goto @blk then we must call this function before deleting the X operands. @param blk: (C : mblock_t  ) current block @param top: (C : minsn_t  ) top level instruction that contains our operand @param moved_calls: (C : bool  ) pointer to the boolean that will track if all side effects get handled correctly. must be false initially. @return: false failed to preserve a side effect, it is not safe to delete the operand true no side effects or successfully preserved them",
"func":1
},
{
"ref":"ida_hexrays.mop_t.apply_ld_mcode",
"url":19,
"doc":"apply_ld_mcode(self, mcode, ea, newsize) Apply a unary opcode to the operand. @param mcode: (C : mcode_t) opcode to apply. it must accept 'l' and 'd' operands but not 'r'. @param ea: (C : ea_t) value of minsn_t ea for the newly created insruction @param newsize: (C : int) new operand size Example: apply_ld_mcode(m_low) will convert op => low(op)",
"func":1
},
{
"ref":"ida_hexrays.mop_t.apply_xdu",
"url":19,
"doc":"apply_xdu(self, ea, newsize) @param ea: ea_t @param newsize: int",
"func":1
},
{
"ref":"ida_hexrays.mop_t.apply_xds",
"url":19,
"doc":"apply_xds(self, ea, newsize) @param ea: ea_t @param newsize: int",
"func":1
},
{
"ref":"ida_hexrays.mop_t.obj_id",
"url":19,
"doc":"_obj_id(self) -> PyObject  "
},
{
"ref":"ida_hexrays.mop_t.replace_by",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.mop_t.meminfo",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.mop_t.nnn",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.mop_t.d",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.mop_t.s",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.mop_t.f",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.mop_t.l",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.mop_t.a",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.mop_t.c",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.mop_t.fpc",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.mop_t.pair",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.mop_t.scif",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.mop_t.r",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.mop_t.g",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.mop_t.b",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.mop_t.cstr",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.mop_t.helper",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.OPROP_IMPDONE",
"url":19,
"doc":"imported operand (a pointer) has been dereferenced"
},
{
"ref":"ida_hexrays.OPROP_UDT",
"url":19,
"doc":"a struct or union"
},
{
"ref":"ida_hexrays.OPROP_FLOAT",
"url":19,
"doc":"possibly floating value"
},
{
"ref":"ida_hexrays.OPROP_CCFLAGS",
"url":19,
"doc":"mop_n: a pc-relative value mop_a: an address obtained from a relocation else: value of a condition code register (like mr_cc)"
},
{
"ref":"ida_hexrays.OPROP_UDEFVAL",
"url":19,
"doc":"uses undefined value"
},
{
"ref":"ida_hexrays.OPROP_LOWADDR",
"url":19,
"doc":"a low address offset"
},
{
"ref":"ida_hexrays.lexcompare",
"url":19,
"doc":"lexcompare(a, b) -> int @param a: mop_t const & @param b: mop_t const &",
"func":1
},
{
"ref":"ida_hexrays.mop_pair_t",
"url":19,
"doc":"Proxy of C mop_pair_t class. __init__(self) -> mop_pair_t"
},
{
"ref":"ida_hexrays.mop_pair_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.mop_pair_t.lop",
"url":19,
"doc":"low operand"
},
{
"ref":"ida_hexrays.mop_pair_t.hop",
"url":19,
"doc":"high operand"
},
{
"ref":"ida_hexrays.mop_addr_t",
"url":19,
"doc":"Proxy of C mop_addr_t class. __init__(self) -> mop_addr_t __init__(self, ra) -> mop_addr_t @param ra: mop_addr_t const & __init__(self, ra, isz, osz) -> mop_addr_t @param ra: mop_t const & @param isz: int @param osz: int"
},
{
"ref":"ida_hexrays.mop_addr_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.mop_addr_t.insize",
"url":19,
"doc":"insize"
},
{
"ref":"ida_hexrays.mop_addr_t.outsize",
"url":19,
"doc":"outsize"
},
{
"ref":"ida_hexrays.mop_addr_t.lexcompare",
"url":19,
"doc":"lexcompare(self, ra) -> int @param ra: mop_addr_t const &",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.t",
"url":19,
"doc":"Operand type."
},
{
"ref":"ida_hexrays.mop_addr_t.oprops",
"url":19,
"doc":"Operand properties."
},
{
"ref":"ida_hexrays.mop_addr_t.valnum",
"url":19,
"doc":"Value number. Zero means unknown. Operands with the same value number are equal."
},
{
"ref":"ida_hexrays.mop_addr_t.size",
"url":19,
"doc":"Operand size. Usually it is 1,2,4,8 or NOSIZE but for UDTs other sizes are permitted"
},
{
"ref":"ida_hexrays.mop_addr_t.set_impptr_done",
"url":19,
"doc":"set_impptr_done(self)",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.set_udt",
"url":19,
"doc":"set_udt(self)",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.set_undef_val",
"url":19,
"doc":"set_undef_val(self)",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.set_lowaddr",
"url":19,
"doc":"set_lowaddr(self)",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_impptr_done",
"url":19,
"doc":"is_impptr_done(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_udt",
"url":19,
"doc":"is_udt(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.probably_floating",
"url":19,
"doc":"probably_floating(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_undef_val",
"url":19,
"doc":"is_undef_val(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_lowaddr",
"url":19,
"doc":"is_lowaddr(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_ccflags",
"url":19,
"doc":"is_ccflags(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_pcval",
"url":19,
"doc":"is_pcval(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_glbaddr_from_fixup",
"url":19,
"doc":"is_glbaddr_from_fixup(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.assign",
"url":19,
"doc":"assign(self, rop) -> mop_t @param rop: mop_t const &",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.zero",
"url":19,
"doc":"zero(self)",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.swap",
"url":19,
"doc":"swap(self, rop) @param rop: mop_t &",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.erase",
"url":19,
"doc":"erase(self)",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.erase_but_keep_size",
"url":19,
"doc":"erase_but_keep_size(self)",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.dstr",
"url":19,
"doc":"dstr(self) -> char const  ",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.create_from_mlist",
"url":19,
"doc":"create_from_mlist(self, mba, lst, fullsize) -> bool Create operand from mlist_t. Example: if LST contains 4 bits for R0.4, our operand will be (t=mop_r, r=R0, size=4) @param mba: (C : mba_t  ) pointer to microcode @param lst: (C : const mlist_t &) list of locations @param fullsize: (C : sval_t) mba->fullsize @return: success",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.create_from_ivlset",
"url":19,
"doc":"create_from_ivlset(self, mba, ivs, fullsize) -> bool Create operand from ivlset_t. Example: if IVS contains [glbvar glbvar+4), our operand will be (t=mop_v, g=&glbvar, size=4) @param mba: (C : mba_t  ) pointer to microcode @param ivs: (C : const ivlset_t &) set of memory intervals @param fullsize: (C : sval_t) mba->fullsize @return: success",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.create_from_vdloc",
"url":19,
"doc":"create_from_vdloc(self, mba, loc, _size) Create operand from vdloc_t. Example: if LOC contains (type=ALOC_REG1, r=R0), our operand will be (t=mop_r, r=R0, size=_SIZE) @param mba: (C : mba_t  ) pointer to microcode @param loc: (C : const vdloc_t &) location @param _size: (C : int) operand size Note: this function cannot handle scattered locations. @return: success",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.create_from_scattered_vdloc",
"url":19,
"doc":"create_from_scattered_vdloc(self, mba, name, type, loc) Create operand from scattered vdloc_t. Example: if LOC is (ALOC_DIST, {EAX.4, EDX.4}) and TYPE is _LARGE_INTEGER, our operand will be (t=mop_sc, scif={EAX.4, EDX.4}) @param mba: (C : mba_t  ) pointer to microcode @param name: (C : const char  ) name of the operand, if available @param type: (C : tinfo_t) type of the operand, must be present @param loc: (C : const vdloc_t &) a scattered location @return: success",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.create_from_insn",
"url":19,
"doc":"create_from_insn(self, m) Create operand from an instruction. This function creates a nested instruction that can be used as an operand. Example: if m=\"add x,y,z\", our operand will be (t=mop_d,d=m). The destination operand of 'add' (z) is lost. @param m: (C : const minsn_t  ) instruction to embed into operand. may not be nullptr.",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.make_number",
"url":19,
"doc":"make_number(self, _value, _size, _ea=BADADDR, opnum=0) Create an integer constant operand. @param _value: (C : uint64) value to store in the operand @param _size: (C : int) size of the value in bytes (1,2,4,8) @param _ea: (C : ea_t) address of the processor instruction that made the value @param opnum: (C : int) operand number of the processor instruction",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.make_fpnum",
"url":19,
"doc":"make_fpnum(self, bytes) -> bool Create a floating point constant operand. @param bytes: (C : const void  ) pointer to the floating point value as used by the current processor (e.g. for x86 it must be in IEEE 754) @return: success",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.make_reg",
"url":19,
"doc":"make_reg(self, reg) @param reg: mreg_t make_reg(self, reg, _size) @param reg: mreg_t @param _size: int",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.make_gvar",
"url":19,
"doc":"make_gvar(self, ea) Create a global variable operand. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.make_stkvar",
"url":19,
"doc":"make_stkvar(self, mba, off) @param mba: mba_t  @param off: sval_t",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.make_reg_pair",
"url":19,
"doc":"make_reg_pair(self, loreg, hireg, halfsize) Create pair of registers. @param loreg: (C : int) register holding the low part of the value @param hireg: (C : int) register holding the high part of the value @param halfsize: (C : int) the size of each of loreg/hireg",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.make_insn",
"url":19,
"doc":"make_insn(self, ins) Create a nested instruction. @param ins: (C : minsn_t  )",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.make_blkref",
"url":19,
"doc":"make_blkref(self, blknum) Create a global variable operand. @param blknum: (C : int)",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.make_helper",
"url":19,
"doc":"make_helper(self, name) Create a helper operand. A helper operand usually keeps a built-in function name like \"va_start\" It is essentially just an arbitrary identifier without any additional info. @param name: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_reg",
"url":19,
"doc":"is_reg(self) -> bool Is the specified register of the specified size? is_reg(self, _r) -> bool @param _r: mreg_t is_reg(self, _r, _size) -> bool @param _r: mreg_t @param _size: int",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_arglist",
"url":19,
"doc":"is_arglist(self) -> bool Is a list of arguments?",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_cc",
"url":19,
"doc":"is_cc(self) -> bool Is a condition code?",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_bit_reg",
"url":19,
"doc":"is_bit_reg(self, reg) -> bool Is a bit register? This includes condition codes and eventually other bit registers @param reg: (C : mreg_t) is_bit_reg(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_kreg",
"url":19,
"doc":"is_kreg(self) -> bool Is a kernel register?",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_mob",
"url":19,
"doc":"is_mob(self, serial) -> bool Is a block reference to the specified block? @param serial: (C : int)",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_scattered",
"url":19,
"doc":"is_scattered(self) -> bool Is a scattered operand?",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_glbaddr",
"url":19,
"doc":"is_glbaddr(self) -> bool Is address of the specified global memory cell? is_glbaddr(self, ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_stkaddr",
"url":19,
"doc":"is_stkaddr(self) -> bool Is address of a stack variable?",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_insn",
"url":19,
"doc":"is_insn(self) -> bool Is a sub-instruction with the specified opcode? is_insn(self, code) -> bool @param code: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.has_side_effects",
"url":19,
"doc":"has_side_effects(self, include_ldx_and_divs=False) -> bool Has any side effects? @param include_ldx_and_divs: (C : bool) consider ldx/div/mod as having side effects?",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.may_use_aliased_memory",
"url":19,
"doc":"may_use_aliased_memory(self) -> bool Is it possible for the operand to use aliased memory?",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is01",
"url":19,
"doc":"is01(self) -> bool Are the possible values of the operand only 0 and 1? This function returns true for 0/1 constants, bit registers, the result of 'set' insns, etc.",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_sign_extended_from",
"url":19,
"doc":"is_sign_extended_from(self, nbytes) -> bool Does the high part of the operand consist of the sign bytes? @param nbytes: (C : int) number of bytes that were sign extended. the remaining size- nbytes high bytes must be sign bytes Example: is_sign_extended_from(xds.4(op.1), 1) -> true because the high 3 bytes are certainly sign bits",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_zero_extended_from",
"url":19,
"doc":"is_zero_extended_from(self, nbytes) -> bool Does the high part of the operand consist of zero bytes? @param nbytes: (C : int) number of bytes that were zero extended. the remaining size- nbytes high bytes must be zero Example: is_zero_extended_from(xdu.8(op.1), 2) -> true because the high 6 bytes are certainly zero",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_extended_from",
"url":19,
"doc":"is_extended_from(self, nbytes, is_signed) -> bool Does the high part of the operand consist of zero or sign bytes? @param nbytes: (C : int) @param is_signed: (C : bool)",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.equal_mops",
"url":19,
"doc":"equal_mops(self, rop, eqflags) -> bool Compare operands. This is the main comparison function for operands. @param rop: (C : const mop_t &) operand to compare with @param eqflags: (C : int) combination of comparison bits bits",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.for_all_ops",
"url":19,
"doc":"for_all_ops(self, mv, type=None, is_target=False) -> int Visit the operand and all its sub-operands. This function visits the current operand as well. @param mv: (C : mop_visitor_t &) visitor object @param type: (C : const tinfo_t  ) operand type @param is_target: (C : bool) is a destination operand?",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.for_all_scattered_submops",
"url":19,
"doc":"for_all_scattered_submops(self, sv) -> int Visit all sub-operands of a scattered operand. This function does not visit the current operand, only its sub-operands. All sub-operands are synthetic and are destroyed after the visitor. This function works only with scattered operands. @param sv: (C : scif_visitor_t &) visitor object",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.value",
"url":19,
"doc":"value(self, is_signed) -> uint64 Retrieve value of a constant integer operand. These functions can be called only for mop_n operands. See is_constant() that can be called on any operand. @param is_signed: (C : bool)",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.signed_value",
"url":19,
"doc":"signed_value(self) -> int64",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.unsigned_value",
"url":19,
"doc":"unsigned_value(self) -> uint64",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.update_numop_value",
"url":19,
"doc":"update_numop_value(self, val) @param val: uint64",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_constant",
"url":19,
"doc":"is_constant(self, is_signed=True) -> bool Retrieve value of a constant integer operand. @param is_signed: (C : bool) should treat the value as signed @return: true if the operand is mop_n",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_equal_to",
"url":19,
"doc":"is_equal_to(self, n, is_signed=True) -> bool @param n: uint64 @param is_signed: bool",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_zero",
"url":19,
"doc":"is_zero(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_one",
"url":19,
"doc":"is_one(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_positive_constant",
"url":19,
"doc":"is_positive_constant(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.is_negative_constant",
"url":19,
"doc":"is_negative_constant(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.get_stkvar",
"url":19,
"doc":"get_stkvar(self, udm=None, p_off=None) -> ssize_t Retrieve the referenced stack variable. @param udm: (C : udm_t  ) stkvar, may be nullptr @param p_off: (C : uval_t  ) if specified, will hold IDA stkoff after the call. @return: index of stkvar in the frame or -1",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.get_stkoff",
"url":19,
"doc":"get_stkoff(self, p_off) -> bool Get the referenced stack offset. This function can also handle mop_sc if it is entirely mapped into a continuous stack region. @param p_off: (C : sval_t  ) the output buffer @return: success",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.get_insn",
"url":19,
"doc":"get_insn(self, code) -> minsn_t @param code: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.make_low_half",
"url":19,
"doc":"make_low_half(self, width) -> bool Make the low part of the operand. This function takes into account the memory endianness (byte sex) @param width: (C : int) the desired size of the operand part in bytes @return: success",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.make_high_half",
"url":19,
"doc":"make_high_half(self, width) -> bool Make the high part of the operand. This function takes into account the memory endianness (byte sex) @param width: (C : int) the desired size of the operand part in bytes @return: success",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.make_first_half",
"url":19,
"doc":"make_first_half(self, width) -> bool Make the first part of the operand. This function does not care about the memory endianness @param width: (C : int) the desired size of the operand part in bytes @return: success",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.make_second_half",
"url":19,
"doc":"make_second_half(self, width) -> bool Make the second part of the operand. This function does not care about the memory endianness @param width: (C : int) the desired size of the operand part in bytes @return: success",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.shift_mop",
"url":19,
"doc":"shift_mop(self, offset) -> bool Shift the operand. This function shifts only the beginning of the operand. The operand size will be changed. Examples: shift_mop(AH.1, -1) -> AX.2 shift_mop(qword_00000008.8, 4) -> dword_0000000C.4 shift_mop(xdu.8(op.4), 4) ->  0.4 shift_mop( 0x12345678.4, 3) ->  12.1 @param offset: (C : int) shift count (the number of bytes to shift) @return: success",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.change_size",
"url":19,
"doc":"change_size(self, nsize, sideff=WITH_SIDEFF) -> bool Change the operand size. Examples: change_size(AL.1, 2) -> AX.2 change_size(qword_00000008.8, 4) -> dword_00000008.4 change_size(xdu.8(op.4), 4) -> op.4 change_size( 0x12345678.4, 1) ->  0x78.1 @param nsize: (C : int) new operand size @param sideff: (C : side_effect_t) may modify the database because of the size change? @return: success",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.double_size",
"url":19,
"doc":"double_size(self, sideff=WITH_SIDEFF) -> bool @param sideff: enum side_effect_t",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.preserve_side_effects",
"url":19,
"doc":"preserve_side_effects(self, blk, top, moved_calls=None) -> bool Move subinstructions with side effects out of the operand. If we decide to delete an instruction operand, it is a good idea to call this function. Alternatively we should skip such operands by calling mop_t has_side_effects() For example, if we transform: jnz x, x, @blk => goto @blk then we must call this function before deleting the X operands. @param blk: (C : mblock_t  ) current block @param top: (C : minsn_t  ) top level instruction that contains our operand @param moved_calls: (C : bool  ) pointer to the boolean that will track if all side effects get handled correctly. must be false initially. @return: false failed to preserve a side effect, it is not safe to delete the operand true no side effects or successfully preserved them",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.apply_ld_mcode",
"url":19,
"doc":"apply_ld_mcode(self, mcode, ea, newsize) Apply a unary opcode to the operand. @param mcode: (C : mcode_t) opcode to apply. it must accept 'l' and 'd' operands but not 'r'. @param ea: (C : ea_t) value of minsn_t ea for the newly created insruction @param newsize: (C : int) new operand size Example: apply_ld_mcode(m_low) will convert op => low(op)",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.apply_xdu",
"url":19,
"doc":"apply_xdu(self, ea, newsize) @param ea: ea_t @param newsize: int",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.apply_xds",
"url":19,
"doc":"apply_xds(self, ea, newsize) @param ea: ea_t @param newsize: int",
"func":1
},
{
"ref":"ida_hexrays.mop_addr_t.obj_id",
"url":19,
"doc":"_obj_id(self) -> PyObject  "
},
{
"ref":"ida_hexrays.mcallarg_t",
"url":19,
"doc":"Proxy of C mcallarg_t class. __init__(self) -> mcallarg_t __init__(self, rarg) -> mcallarg_t @param rarg: mop_t const &"
},
{
"ref":"ida_hexrays.mcallarg_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.mcallarg_t.ea",
"url":19,
"doc":"address where the argument was initialized. BADADDR means unknown."
},
{
"ref":"ida_hexrays.mcallarg_t.type",
"url":19,
"doc":"formal argument type"
},
{
"ref":"ida_hexrays.mcallarg_t.name",
"url":19,
"doc":"formal argument name"
},
{
"ref":"ida_hexrays.mcallarg_t.argloc",
"url":19,
"doc":"ida argloc"
},
{
"ref":"ida_hexrays.mcallarg_t.flags",
"url":19,
"doc":"FAI_ ."
},
{
"ref":"ida_hexrays.mcallarg_t.copy_mop",
"url":19,
"doc":"copy_mop(self, op) @param op: mop_t const &",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.dstr",
"url":19,
"doc":"dstr(self) -> char const  ",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.set_regarg",
"url":19,
"doc":"set_regarg(self, mr, sz, tif) @param mr: mreg_t @param sz: int @param tif: tinfo_t const & set_regarg(self, mr, tif) @param mr: mreg_t @param tif: tinfo_t const & set_regarg(self, mr, dt, sign=type_unsigned) @param mr: mreg_t @param dt: char @param sign: type_sign_t",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.make_int",
"url":19,
"doc":"make_int(self, val, val_ea, opno=0) @param val: int @param val_ea: ea_t @param opno: int",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.make_uint",
"url":19,
"doc":"make_uint(self, val, val_ea, opno=0) @param val: int @param val_ea: ea_t @param opno: int",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.t",
"url":19,
"doc":"Operand type."
},
{
"ref":"ida_hexrays.mcallarg_t.oprops",
"url":19,
"doc":"Operand properties."
},
{
"ref":"ida_hexrays.mcallarg_t.valnum",
"url":19,
"doc":"Value number. Zero means unknown. Operands with the same value number are equal."
},
{
"ref":"ida_hexrays.mcallarg_t.size",
"url":19,
"doc":"Operand size. Usually it is 1,2,4,8 or NOSIZE but for UDTs other sizes are permitted"
},
{
"ref":"ida_hexrays.mcallarg_t.set_impptr_done",
"url":19,
"doc":"set_impptr_done(self)",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.set_udt",
"url":19,
"doc":"set_udt(self)",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.set_undef_val",
"url":19,
"doc":"set_undef_val(self)",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.set_lowaddr",
"url":19,
"doc":"set_lowaddr(self)",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_impptr_done",
"url":19,
"doc":"is_impptr_done(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_udt",
"url":19,
"doc":"is_udt(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.probably_floating",
"url":19,
"doc":"probably_floating(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_undef_val",
"url":19,
"doc":"is_undef_val(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_lowaddr",
"url":19,
"doc":"is_lowaddr(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_ccflags",
"url":19,
"doc":"is_ccflags(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_pcval",
"url":19,
"doc":"is_pcval(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_glbaddr_from_fixup",
"url":19,
"doc":"is_glbaddr_from_fixup(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.assign",
"url":19,
"doc":"assign(self, rop) -> mop_t @param rop: mop_t const &",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.zero",
"url":19,
"doc":"zero(self)",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.swap",
"url":19,
"doc":"swap(self, rop) @param rop: mop_t &",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.erase",
"url":19,
"doc":"erase(self)",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.erase_but_keep_size",
"url":19,
"doc":"erase_but_keep_size(self)",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.create_from_mlist",
"url":19,
"doc":"create_from_mlist(self, mba, lst, fullsize) -> bool Create operand from mlist_t. Example: if LST contains 4 bits for R0.4, our operand will be (t=mop_r, r=R0, size=4) @param mba: (C : mba_t  ) pointer to microcode @param lst: (C : const mlist_t &) list of locations @param fullsize: (C : sval_t) mba->fullsize @return: success",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.create_from_ivlset",
"url":19,
"doc":"create_from_ivlset(self, mba, ivs, fullsize) -> bool Create operand from ivlset_t. Example: if IVS contains [glbvar glbvar+4), our operand will be (t=mop_v, g=&glbvar, size=4) @param mba: (C : mba_t  ) pointer to microcode @param ivs: (C : const ivlset_t &) set of memory intervals @param fullsize: (C : sval_t) mba->fullsize @return: success",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.create_from_vdloc",
"url":19,
"doc":"create_from_vdloc(self, mba, loc, _size) Create operand from vdloc_t. Example: if LOC contains (type=ALOC_REG1, r=R0), our operand will be (t=mop_r, r=R0, size=_SIZE) @param mba: (C : mba_t  ) pointer to microcode @param loc: (C : const vdloc_t &) location @param _size: (C : int) operand size Note: this function cannot handle scattered locations. @return: success",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.create_from_scattered_vdloc",
"url":19,
"doc":"create_from_scattered_vdloc(self, mba, name, type, loc) Create operand from scattered vdloc_t. Example: if LOC is (ALOC_DIST, {EAX.4, EDX.4}) and TYPE is _LARGE_INTEGER, our operand will be (t=mop_sc, scif={EAX.4, EDX.4}) @param mba: (C : mba_t  ) pointer to microcode @param name: (C : const char  ) name of the operand, if available @param type: (C : tinfo_t) type of the operand, must be present @param loc: (C : const vdloc_t &) a scattered location @return: success",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.create_from_insn",
"url":19,
"doc":"create_from_insn(self, m) Create operand from an instruction. This function creates a nested instruction that can be used as an operand. Example: if m=\"add x,y,z\", our operand will be (t=mop_d,d=m). The destination operand of 'add' (z) is lost. @param m: (C : const minsn_t  ) instruction to embed into operand. may not be nullptr.",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.make_number",
"url":19,
"doc":"make_number(self, _value, _size, _ea=BADADDR, opnum=0) Create an integer constant operand. @param _value: (C : uint64) value to store in the operand @param _size: (C : int) size of the value in bytes (1,2,4,8) @param _ea: (C : ea_t) address of the processor instruction that made the value @param opnum: (C : int) operand number of the processor instruction",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.make_fpnum",
"url":19,
"doc":"make_fpnum(self, bytes) -> bool Create a floating point constant operand. @param bytes: (C : const void  ) pointer to the floating point value as used by the current processor (e.g. for x86 it must be in IEEE 754) @return: success",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.make_reg",
"url":19,
"doc":"make_reg(self, reg) @param reg: mreg_t make_reg(self, reg, _size) @param reg: mreg_t @param _size: int",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.make_gvar",
"url":19,
"doc":"make_gvar(self, ea) Create a global variable operand. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.make_stkvar",
"url":19,
"doc":"make_stkvar(self, mba, off) @param mba: mba_t  @param off: sval_t",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.make_reg_pair",
"url":19,
"doc":"make_reg_pair(self, loreg, hireg, halfsize) Create pair of registers. @param loreg: (C : int) register holding the low part of the value @param hireg: (C : int) register holding the high part of the value @param halfsize: (C : int) the size of each of loreg/hireg",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.make_insn",
"url":19,
"doc":"make_insn(self, ins) Create a nested instruction. @param ins: (C : minsn_t  )",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.make_blkref",
"url":19,
"doc":"make_blkref(self, blknum) Create a global variable operand. @param blknum: (C : int)",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.make_helper",
"url":19,
"doc":"make_helper(self, name) Create a helper operand. A helper operand usually keeps a built-in function name like \"va_start\" It is essentially just an arbitrary identifier without any additional info. @param name: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_reg",
"url":19,
"doc":"is_reg(self) -> bool Is the specified register of the specified size? is_reg(self, _r) -> bool @param _r: mreg_t is_reg(self, _r, _size) -> bool @param _r: mreg_t @param _size: int",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_arglist",
"url":19,
"doc":"is_arglist(self) -> bool Is a list of arguments?",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_cc",
"url":19,
"doc":"is_cc(self) -> bool Is a condition code?",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_bit_reg",
"url":19,
"doc":"is_bit_reg(self, reg) -> bool Is a bit register? This includes condition codes and eventually other bit registers @param reg: (C : mreg_t) is_bit_reg(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_kreg",
"url":19,
"doc":"is_kreg(self) -> bool Is a kernel register?",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_mob",
"url":19,
"doc":"is_mob(self, serial) -> bool Is a block reference to the specified block? @param serial: (C : int)",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_scattered",
"url":19,
"doc":"is_scattered(self) -> bool Is a scattered operand?",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_glbaddr",
"url":19,
"doc":"is_glbaddr(self) -> bool Is address of the specified global memory cell? is_glbaddr(self, ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_stkaddr",
"url":19,
"doc":"is_stkaddr(self) -> bool Is address of a stack variable?",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_insn",
"url":19,
"doc":"is_insn(self) -> bool Is a sub-instruction with the specified opcode? is_insn(self, code) -> bool @param code: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.has_side_effects",
"url":19,
"doc":"has_side_effects(self, include_ldx_and_divs=False) -> bool Has any side effects? @param include_ldx_and_divs: (C : bool) consider ldx/div/mod as having side effects?",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.may_use_aliased_memory",
"url":19,
"doc":"may_use_aliased_memory(self) -> bool Is it possible for the operand to use aliased memory?",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is01",
"url":19,
"doc":"is01(self) -> bool Are the possible values of the operand only 0 and 1? This function returns true for 0/1 constants, bit registers, the result of 'set' insns, etc.",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_sign_extended_from",
"url":19,
"doc":"is_sign_extended_from(self, nbytes) -> bool Does the high part of the operand consist of the sign bytes? @param nbytes: (C : int) number of bytes that were sign extended. the remaining size- nbytes high bytes must be sign bytes Example: is_sign_extended_from(xds.4(op.1), 1) -> true because the high 3 bytes are certainly sign bits",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_zero_extended_from",
"url":19,
"doc":"is_zero_extended_from(self, nbytes) -> bool Does the high part of the operand consist of zero bytes? @param nbytes: (C : int) number of bytes that were zero extended. the remaining size- nbytes high bytes must be zero Example: is_zero_extended_from(xdu.8(op.1), 2) -> true because the high 6 bytes are certainly zero",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_extended_from",
"url":19,
"doc":"is_extended_from(self, nbytes, is_signed) -> bool Does the high part of the operand consist of zero or sign bytes? @param nbytes: (C : int) @param is_signed: (C : bool)",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.equal_mops",
"url":19,
"doc":"equal_mops(self, rop, eqflags) -> bool Compare operands. This is the main comparison function for operands. @param rop: (C : const mop_t &) operand to compare with @param eqflags: (C : int) combination of comparison bits bits",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.lexcompare",
"url":19,
"doc":"lexcompare(self, rop) -> int @param rop: mop_t const &",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.for_all_ops",
"url":19,
"doc":"for_all_ops(self, mv, type=None, is_target=False) -> int Visit the operand and all its sub-operands. This function visits the current operand as well. @param mv: (C : mop_visitor_t &) visitor object @param type: (C : const tinfo_t  ) operand type @param is_target: (C : bool) is a destination operand?",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.for_all_scattered_submops",
"url":19,
"doc":"for_all_scattered_submops(self, sv) -> int Visit all sub-operands of a scattered operand. This function does not visit the current operand, only its sub-operands. All sub-operands are synthetic and are destroyed after the visitor. This function works only with scattered operands. @param sv: (C : scif_visitor_t &) visitor object",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.value",
"url":19,
"doc":"value(self, is_signed) -> uint64 Retrieve value of a constant integer operand. These functions can be called only for mop_n operands. See is_constant() that can be called on any operand. @param is_signed: (C : bool)",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.signed_value",
"url":19,
"doc":"signed_value(self) -> int64",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.unsigned_value",
"url":19,
"doc":"unsigned_value(self) -> uint64",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.update_numop_value",
"url":19,
"doc":"update_numop_value(self, val) @param val: uint64",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_constant",
"url":19,
"doc":"is_constant(self, is_signed=True) -> bool Retrieve value of a constant integer operand. @param is_signed: (C : bool) should treat the value as signed @return: true if the operand is mop_n",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_equal_to",
"url":19,
"doc":"is_equal_to(self, n, is_signed=True) -> bool @param n: uint64 @param is_signed: bool",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_zero",
"url":19,
"doc":"is_zero(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_one",
"url":19,
"doc":"is_one(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_positive_constant",
"url":19,
"doc":"is_positive_constant(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.is_negative_constant",
"url":19,
"doc":"is_negative_constant(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.get_stkvar",
"url":19,
"doc":"get_stkvar(self, udm=None, p_off=None) -> ssize_t Retrieve the referenced stack variable. @param udm: (C : udm_t  ) stkvar, may be nullptr @param p_off: (C : uval_t  ) if specified, will hold IDA stkoff after the call. @return: index of stkvar in the frame or -1",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.get_stkoff",
"url":19,
"doc":"get_stkoff(self, p_off) -> bool Get the referenced stack offset. This function can also handle mop_sc if it is entirely mapped into a continuous stack region. @param p_off: (C : sval_t  ) the output buffer @return: success",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.get_insn",
"url":19,
"doc":"get_insn(self, code) -> minsn_t @param code: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.make_low_half",
"url":19,
"doc":"make_low_half(self, width) -> bool Make the low part of the operand. This function takes into account the memory endianness (byte sex) @param width: (C : int) the desired size of the operand part in bytes @return: success",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.make_high_half",
"url":19,
"doc":"make_high_half(self, width) -> bool Make the high part of the operand. This function takes into account the memory endianness (byte sex) @param width: (C : int) the desired size of the operand part in bytes @return: success",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.make_first_half",
"url":19,
"doc":"make_first_half(self, width) -> bool Make the first part of the operand. This function does not care about the memory endianness @param width: (C : int) the desired size of the operand part in bytes @return: success",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.make_second_half",
"url":19,
"doc":"make_second_half(self, width) -> bool Make the second part of the operand. This function does not care about the memory endianness @param width: (C : int) the desired size of the operand part in bytes @return: success",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.shift_mop",
"url":19,
"doc":"shift_mop(self, offset) -> bool Shift the operand. This function shifts only the beginning of the operand. The operand size will be changed. Examples: shift_mop(AH.1, -1) -> AX.2 shift_mop(qword_00000008.8, 4) -> dword_0000000C.4 shift_mop(xdu.8(op.4), 4) ->  0.4 shift_mop( 0x12345678.4, 3) ->  12.1 @param offset: (C : int) shift count (the number of bytes to shift) @return: success",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.change_size",
"url":19,
"doc":"change_size(self, nsize, sideff=WITH_SIDEFF) -> bool Change the operand size. Examples: change_size(AL.1, 2) -> AX.2 change_size(qword_00000008.8, 4) -> dword_00000008.4 change_size(xdu.8(op.4), 4) -> op.4 change_size( 0x12345678.4, 1) ->  0x78.1 @param nsize: (C : int) new operand size @param sideff: (C : side_effect_t) may modify the database because of the size change? @return: success",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.double_size",
"url":19,
"doc":"double_size(self, sideff=WITH_SIDEFF) -> bool @param sideff: enum side_effect_t",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.preserve_side_effects",
"url":19,
"doc":"preserve_side_effects(self, blk, top, moved_calls=None) -> bool Move subinstructions with side effects out of the operand. If we decide to delete an instruction operand, it is a good idea to call this function. Alternatively we should skip such operands by calling mop_t has_side_effects() For example, if we transform: jnz x, x, @blk => goto @blk then we must call this function before deleting the X operands. @param blk: (C : mblock_t  ) current block @param top: (C : minsn_t  ) top level instruction that contains our operand @param moved_calls: (C : bool  ) pointer to the boolean that will track if all side effects get handled correctly. must be false initially. @return: false failed to preserve a side effect, it is not safe to delete the operand true no side effects or successfully preserved them",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.apply_ld_mcode",
"url":19,
"doc":"apply_ld_mcode(self, mcode, ea, newsize) Apply a unary opcode to the operand. @param mcode: (C : mcode_t) opcode to apply. it must accept 'l' and 'd' operands but not 'r'. @param ea: (C : ea_t) value of minsn_t ea for the newly created insruction @param newsize: (C : int) new operand size Example: apply_ld_mcode(m_low) will convert op => low(op)",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.apply_xdu",
"url":19,
"doc":"apply_xdu(self, ea, newsize) @param ea: ea_t @param newsize: int",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.apply_xds",
"url":19,
"doc":"apply_xds(self, ea, newsize) @param ea: ea_t @param newsize: int",
"func":1
},
{
"ref":"ida_hexrays.mcallarg_t.obj_id",
"url":19,
"doc":"_obj_id(self) -> PyObject  "
},
{
"ref":"ida_hexrays.ROLE_UNK",
"url":19,
"doc":"unknown function role"
},
{
"ref":"ida_hexrays.ROLE_EMPTY",
"url":19,
"doc":"empty, does not do anything (maybe spoils regs)"
},
{
"ref":"ida_hexrays.ROLE_MEMSET",
"url":19,
"doc":"memset(void  dst, uchar value, size_t count);"
},
{
"ref":"ida_hexrays.ROLE_MEMSET32",
"url":19,
"doc":"memset32(void  dst, uint32 value, size_t count);"
},
{
"ref":"ida_hexrays.ROLE_MEMSET64",
"url":19,
"doc":"memset64(void  dst, uint64 value, size_t count);"
},
{
"ref":"ida_hexrays.ROLE_MEMCPY",
"url":19,
"doc":"memcpy(void  dst, const void  src, size_t count);"
},
{
"ref":"ida_hexrays.ROLE_STRCPY",
"url":19,
"doc":"strcpy(char  dst, const char  src);"
},
{
"ref":"ida_hexrays.ROLE_STRLEN",
"url":19,
"doc":"strlen(const char  src);"
},
{
"ref":"ida_hexrays.ROLE_STRCAT",
"url":19,
"doc":"strcat(char  dst, const char  src);"
},
{
"ref":"ida_hexrays.ROLE_TAIL",
"url":19,
"doc":"char  tail(const char  str);"
},
{
"ref":"ida_hexrays.ROLE_BUG",
"url":19,
"doc":"BUG() helper macro: never returns, causes exception."
},
{
"ref":"ida_hexrays.ROLE_ALLOCA",
"url":19,
"doc":"alloca() function"
},
{
"ref":"ida_hexrays.ROLE_BSWAP",
"url":19,
"doc":"bswap() function (any size)"
},
{
"ref":"ida_hexrays.ROLE_PRESENT",
"url":19,
"doc":"present() function (used in patterns)"
},
{
"ref":"ida_hexrays.ROLE_CONTAINING_RECORD",
"url":19,
"doc":"CONTAINING_RECORD() macro."
},
{
"ref":"ida_hexrays.ROLE_FASTFAIL",
"url":19,
"doc":"__fastfail()"
},
{
"ref":"ida_hexrays.ROLE_READFLAGS",
"url":19,
"doc":"__readeflags, __readcallersflags"
},
{
"ref":"ida_hexrays.ROLE_IS_MUL_OK",
"url":19,
"doc":"is_mul_ok"
},
{
"ref":"ida_hexrays.ROLE_SATURATED_MUL",
"url":19,
"doc":"saturated_mul"
},
{
"ref":"ida_hexrays.ROLE_BITTEST",
"url":19,
"doc":"[lock] bt"
},
{
"ref":"ida_hexrays.ROLE_BITTESTANDSET",
"url":19,
"doc":"[lock] bts"
},
{
"ref":"ida_hexrays.ROLE_BITTESTANDRESET",
"url":19,
"doc":"[lock] btr"
},
{
"ref":"ida_hexrays.ROLE_BITTESTANDCOMPLEMENT",
"url":19,
"doc":"[lock] btc"
},
{
"ref":"ida_hexrays.ROLE_VA_ARG",
"url":19,
"doc":"va_arg() macro"
},
{
"ref":"ida_hexrays.ROLE_VA_COPY",
"url":19,
"doc":"va_copy() function"
},
{
"ref":"ida_hexrays.ROLE_VA_START",
"url":19,
"doc":"va_start() function"
},
{
"ref":"ida_hexrays.ROLE_VA_END",
"url":19,
"doc":"va_end() function"
},
{
"ref":"ida_hexrays.ROLE_ROL",
"url":19,
"doc":"rotate left"
},
{
"ref":"ida_hexrays.ROLE_ROR",
"url":19,
"doc":"rotate right"
},
{
"ref":"ida_hexrays.ROLE_CFSUB3",
"url":19,
"doc":"carry flag after subtract with carry"
},
{
"ref":"ida_hexrays.ROLE_OFSUB3",
"url":19,
"doc":"overflow flag after subtract with carry"
},
{
"ref":"ida_hexrays.ROLE_ABS",
"url":19,
"doc":"integer absolute value"
},
{
"ref":"ida_hexrays.ROLE_3WAYCMP0",
"url":19,
"doc":"3-way compare helper, returns -1/0/1"
},
{
"ref":"ida_hexrays.ROLE_3WAYCMP1",
"url":19,
"doc":"3-way compare helper, returns 0/1/2"
},
{
"ref":"ida_hexrays.ROLE_WMEMCPY",
"url":19,
"doc":"wchar_t  wmemcpy(wchar_t  dst, const wchar_t  src, size_t n)"
},
{
"ref":"ida_hexrays.ROLE_WMEMSET",
"url":19,
"doc":"wchar_t  wmemset(wchar_t  dst, wchar_t wc, size_t n)"
},
{
"ref":"ida_hexrays.ROLE_WCSCPY",
"url":19,
"doc":"wchar_t  wcscpy(wchar_t  dst, const wchar_t  src);"
},
{
"ref":"ida_hexrays.ROLE_WCSLEN",
"url":19,
"doc":"size_t wcslen(const wchar_t  s)"
},
{
"ref":"ida_hexrays.ROLE_WCSCAT",
"url":19,
"doc":"wchar_t  wcscat(wchar_t  dst, const wchar_t  src)"
},
{
"ref":"ida_hexrays.ROLE_SSE_CMP4",
"url":19,
"doc":"e.g. _mm_cmpgt_ss"
},
{
"ref":"ida_hexrays.ROLE_SSE_CMP8",
"url":19,
"doc":"e.g. _mm_cmpgt_sd"
},
{
"ref":"ida_hexrays.mcallinfo_t",
"url":19,
"doc":"Proxy of C mcallinfo_t class. __init__(self, _callee=BADADDR, _sargs=0) -> mcallinfo_t @param _callee: ea_t @param _sargs: int"
},
{
"ref":"ida_hexrays.mcallinfo_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.mcallinfo_t.callee",
"url":19,
"doc":"address of the called function, if known"
},
{
"ref":"ida_hexrays.mcallinfo_t.solid_args",
"url":19,
"doc":"number of solid args. there may be variadic args in addtion"
},
{
"ref":"ida_hexrays.mcallinfo_t.call_spd",
"url":19,
"doc":"sp value at call insn"
},
{
"ref":"ida_hexrays.mcallinfo_t.stkargs_top",
"url":19,
"doc":"first offset past stack arguments"
},
{
"ref":"ida_hexrays.mcallinfo_t.cc",
"url":19,
"doc":"calling convention"
},
{
"ref":"ida_hexrays.mcallinfo_t.args",
"url":19,
"doc":"call arguments"
},
{
"ref":"ida_hexrays.mcallinfo_t.retregs",
"url":19,
"doc":"return register(s) (e.g., AX, AX:DX, etc.) this vector is built from return_regs"
},
{
"ref":"ida_hexrays.mcallinfo_t.return_type",
"url":19,
"doc":"type of the returned value"
},
{
"ref":"ida_hexrays.mcallinfo_t.return_argloc",
"url":19,
"doc":"location of the returned value"
},
{
"ref":"ida_hexrays.mcallinfo_t.return_regs",
"url":19,
"doc":"list of values returned by the function"
},
{
"ref":"ida_hexrays.mcallinfo_t.spoiled",
"url":19,
"doc":"list of spoiled locations (includes return_regs)"
},
{
"ref":"ida_hexrays.mcallinfo_t.pass_regs",
"url":19,
"doc":"passthrough registers: registers that depend on input values (subset of spoiled)"
},
{
"ref":"ida_hexrays.mcallinfo_t.visible_memory",
"url":19,
"doc":"what memory is visible to the call?"
},
{
"ref":"ida_hexrays.mcallinfo_t.dead_regs",
"url":19,
"doc":"registers defined by the function but never used. upon propagation we do the following:  dead_regs += return_regs  retregs.clear() since the call is propagated"
},
{
"ref":"ida_hexrays.mcallinfo_t.flags",
"url":19,
"doc":"combination of Call properties . bits"
},
{
"ref":"ida_hexrays.mcallinfo_t.role",
"url":19,
"doc":"function role"
},
{
"ref":"ida_hexrays.mcallinfo_t.fti_attrs",
"url":19,
"doc":"extended function attributes"
},
{
"ref":"ida_hexrays.mcallinfo_t.lexcompare",
"url":19,
"doc":"lexcompare(self, f) -> int @param f: mcallinfo_t const &",
"func":1
},
{
"ref":"ida_hexrays.mcallinfo_t.set_type",
"url":19,
"doc":"set_type(self, type) -> bool @param type: tinfo_t const &",
"func":1
},
{
"ref":"ida_hexrays.mcallinfo_t.get_type",
"url":19,
"doc":"get_type(self) -> tinfo_t",
"func":1
},
{
"ref":"ida_hexrays.mcallinfo_t.is_vararg",
"url":19,
"doc":"is_vararg(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mcallinfo_t.dstr",
"url":19,
"doc":"dstr(self) -> char const  ",
"func":1
},
{
"ref":"ida_hexrays.FCI_PROP",
"url":19,
"doc":"call has been propagated"
},
{
"ref":"ida_hexrays.FCI_DEAD",
"url":19,
"doc":"some return registers were determined dead"
},
{
"ref":"ida_hexrays.FCI_FINAL",
"url":19,
"doc":"call type is final, should not be changed"
},
{
"ref":"ida_hexrays.FCI_NORET",
"url":19,
"doc":"call does not return"
},
{
"ref":"ida_hexrays.FCI_PURE",
"url":19,
"doc":"pure function"
},
{
"ref":"ida_hexrays.FCI_NOSIDE",
"url":19,
"doc":"call does not have side effects"
},
{
"ref":"ida_hexrays.FCI_SPLOK",
"url":19,
"doc":"spoiled/visible_memory lists have been optimized. for some functions we can reduce them as soon as information about the arguments becomes available. in order not to try optimize them again we use this bit."
},
{
"ref":"ida_hexrays.FCI_HASCALL",
"url":19,
"doc":"A function is an synthetic helper combined from several instructions and at least one of them was a call to a real functions"
},
{
"ref":"ida_hexrays.FCI_HASFMT",
"url":19,
"doc":"A variadic function with recognized printf- or scanf-style format string"
},
{
"ref":"ida_hexrays.FCI_EXPLOCS",
"url":19,
"doc":"all arglocs are specified explicitly"
},
{
"ref":"ida_hexrays.mcases_t",
"url":19,
"doc":"Proxy of C mcases_t class. __init__(self) -> mcases_t"
},
{
"ref":"ida_hexrays.mcases_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.mcases_t.values",
"url":19,
"doc":"expression values for each target"
},
{
"ref":"ida_hexrays.mcases_t.targets",
"url":19,
"doc":"target block numbers"
},
{
"ref":"ida_hexrays.mcases_t.swap",
"url":19,
"doc":"swap(self, r) @param r: mcases_t &",
"func":1
},
{
"ref":"ida_hexrays.mcases_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: mcases_t const &",
"func":1
},
{
"ref":"ida_hexrays.mcases_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mcases_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.mcases_t.resize",
"url":19,
"doc":"resize(self, s) @param s: int",
"func":1
},
{
"ref":"ida_hexrays.mcases_t.dstr",
"url":19,
"doc":"dstr(self) -> char const  ",
"func":1
},
{
"ref":"ida_hexrays.voff_t",
"url":19,
"doc":"Proxy of C voff_t class. __init__(self) -> voff_t __init__(self, _type, _off) -> voff_t @param _type: mopt_t @param _off: sval_t __init__(self, op) -> voff_t @param op: mop_t const &"
},
{
"ref":"ida_hexrays.voff_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.voff_t.off",
"url":19,
"doc":"register number or stack offset"
},
{
"ref":"ida_hexrays.voff_t.type",
"url":19,
"doc":"mop_r - register, mop_S - stack, mop_z - undefined"
},
{
"ref":"ida_hexrays.voff_t.set",
"url":19,
"doc":"set(self, _type, _off) @param _type: mopt_t @param _off: sval_t",
"func":1
},
{
"ref":"ida_hexrays.voff_t.set_stkoff",
"url":19,
"doc":"set_stkoff(self, stkoff) @param stkoff: sval_t",
"func":1
},
{
"ref":"ida_hexrays.voff_t.set_reg",
"url":19,
"doc":"set_reg(self, mreg) @param mreg: mreg_t",
"func":1
},
{
"ref":"ida_hexrays.voff_t.undef",
"url":19,
"doc":"undef(self)",
"func":1
},
{
"ref":"ida_hexrays.voff_t.defined",
"url":19,
"doc":"defined(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.voff_t.is_reg",
"url":19,
"doc":"is_reg(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.voff_t.is_stkoff",
"url":19,
"doc":"is_stkoff(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.voff_t.get_reg",
"url":19,
"doc":"get_reg(self) -> mreg_t",
"func":1
},
{
"ref":"ida_hexrays.voff_t.get_stkoff",
"url":19,
"doc":"get_stkoff(self) -> sval_t",
"func":1
},
{
"ref":"ida_hexrays.voff_t.inc",
"url":19,
"doc":"inc(self, delta) @param delta: sval_t",
"func":1
},
{
"ref":"ida_hexrays.voff_t.add",
"url":19,
"doc":"add(self, width) -> voff_t @param width: int",
"func":1
},
{
"ref":"ida_hexrays.voff_t.diff",
"url":19,
"doc":"diff(self, r) -> sval_t @param r: voff_t const &",
"func":1
},
{
"ref":"ida_hexrays.voff_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: voff_t const &",
"func":1
},
{
"ref":"ida_hexrays.vivl_t",
"url":19,
"doc":"Proxy of C vivl_t class. __init__(self, _type=mop_z, _off=-1, _size=0) -> vivl_t @param _type: mopt_t @param _off: sval_t @param _size: int __init__(self, ch) -> vivl_t @param ch: chain_t const & __init__(self, op) -> vivl_t @param op: mop_t const &"
},
{
"ref":"ida_hexrays.vivl_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.vivl_t.size",
"url":19,
"doc":"Interval size in bytes."
},
{
"ref":"ida_hexrays.vivl_t.set",
"url":19,
"doc":"set(self, _type, _off, _size=0) @param _type: mopt_t @param _off: sval_t @param _size: int set(self, voff, _size) @param voff: voff_t const & @param _size: int",
"func":1
},
{
"ref":"ida_hexrays.vivl_t.set_stkoff",
"url":19,
"doc":"set_stkoff(self, stkoff, sz=0) @param stkoff: sval_t @param sz: int",
"func":1
},
{
"ref":"ida_hexrays.vivl_t.set_reg",
"url":19,
"doc":"set_reg(self, mreg, sz=0) @param mreg: mreg_t @param sz: int",
"func":1
},
{
"ref":"ida_hexrays.vivl_t.extend_to_cover",
"url":19,
"doc":"extend_to_cover(self, r) -> bool Extend a value interval using another value interval of the same type @param r: (C : const vivl_t &) vivl_t const & @return: success",
"func":1
},
{
"ref":"ida_hexrays.vivl_t.intersect",
"url":19,
"doc":"intersect(self, r) -> uval_t Intersect value intervals the same type @param r: (C : const vivl_t &) vivl_t const & @return: size of the resulting intersection",
"func":1
},
{
"ref":"ida_hexrays.vivl_t.overlap",
"url":19,
"doc":"overlap(self, r) -> bool Do two value intervals overlap? @param r: (C : const vivl_t &) vivl_t const &",
"func":1
},
{
"ref":"ida_hexrays.vivl_t.includes",
"url":19,
"doc":"includes(self, r) -> bool Does our value interval include another? @param r: (C : const vivl_t &) vivl_t const &",
"func":1
},
{
"ref":"ida_hexrays.vivl_t.contains",
"url":19,
"doc":"contains(self, voff2) -> bool Does our value interval contain the specified value offset? @param voff2: (C : const voff_t &) voff_t const &",
"func":1
},
{
"ref":"ida_hexrays.vivl_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: vivl_t const &",
"func":1
},
{
"ref":"ida_hexrays.vivl_t.dstr",
"url":19,
"doc":"dstr(self) -> char const  ",
"func":1
},
{
"ref":"ida_hexrays.vivl_t.off",
"url":19,
"doc":"register number or stack offset"
},
{
"ref":"ida_hexrays.vivl_t.type",
"url":19,
"doc":"mop_r - register, mop_S - stack, mop_z - undefined"
},
{
"ref":"ida_hexrays.vivl_t.undef",
"url":19,
"doc":"undef(self)",
"func":1
},
{
"ref":"ida_hexrays.vivl_t.defined",
"url":19,
"doc":"defined(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.vivl_t.is_reg",
"url":19,
"doc":"is_reg(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.vivl_t.is_stkoff",
"url":19,
"doc":"is_stkoff(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.vivl_t.get_reg",
"url":19,
"doc":"get_reg(self) -> mreg_t",
"func":1
},
{
"ref":"ida_hexrays.vivl_t.get_stkoff",
"url":19,
"doc":"get_stkoff(self) -> sval_t",
"func":1
},
{
"ref":"ida_hexrays.vivl_t.inc",
"url":19,
"doc":"inc(self, delta) @param delta: sval_t",
"func":1
},
{
"ref":"ida_hexrays.vivl_t.add",
"url":19,
"doc":"add(self, width) -> voff_t @param width: int",
"func":1
},
{
"ref":"ida_hexrays.vivl_t.diff",
"url":19,
"doc":"diff(self, r) -> sval_t @param r: voff_t const &",
"func":1
},
{
"ref":"ida_hexrays.chain_t",
"url":19,
"doc":"Proxy of C chain_t class. __init__(self) -> chain_t __init__(self, t, off, w=1, v=-1) -> chain_t @param t: mopt_t @param off: sval_t @param w: int @param v: int __init__(self, _k, w=1) -> chain_t @param _k: voff_t const & @param w: int"
},
{
"ref":"ida_hexrays.chain_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.chain_t.width",
"url":19,
"doc":"size of the value in bytes"
},
{
"ref":"ida_hexrays.chain_t.varnum",
"url":19,
"doc":"allocated variable index (-1 - not allocated yet)"
},
{
"ref":"ida_hexrays.chain_t.flags",
"url":19,
"doc":"combination Chain properties bits"
},
{
"ref":"ida_hexrays.chain_t.set_value",
"url":19,
"doc":"set_value(self, r) @param r: chain_t const &",
"func":1
},
{
"ref":"ida_hexrays.chain_t.key",
"url":19,
"doc":"key(self) -> voff_t",
"func":1
},
{
"ref":"ida_hexrays.chain_t.is_inited",
"url":19,
"doc":"is_inited(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.chain_t.is_reg",
"url":19,
"doc":"is_reg(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.chain_t.is_stkoff",
"url":19,
"doc":"is_stkoff(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.chain_t.is_replaced",
"url":19,
"doc":"is_replaced(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.chain_t.is_overlapped",
"url":19,
"doc":"is_overlapped(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.chain_t.is_fake",
"url":19,
"doc":"is_fake(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.chain_t.is_passreg",
"url":19,
"doc":"is_passreg(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.chain_t.is_term",
"url":19,
"doc":"is_term(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.chain_t.set_inited",
"url":19,
"doc":"set_inited(self, b) @param b: bool",
"func":1
},
{
"ref":"ida_hexrays.chain_t.set_replaced",
"url":19,
"doc":"set_replaced(self, b) @param b: bool",
"func":1
},
{
"ref":"ida_hexrays.chain_t.set_overlapped",
"url":19,
"doc":"set_overlapped(self, b) @param b: bool",
"func":1
},
{
"ref":"ida_hexrays.chain_t.set_term",
"url":19,
"doc":"set_term(self, b) @param b: bool",
"func":1
},
{
"ref":"ida_hexrays.chain_t.get_reg",
"url":19,
"doc":"get_reg(self) -> mreg_t",
"func":1
},
{
"ref":"ida_hexrays.chain_t.get_stkoff",
"url":19,
"doc":"get_stkoff(self) -> sval_t",
"func":1
},
{
"ref":"ida_hexrays.chain_t.overlap",
"url":19,
"doc":"overlap(self, r) -> bool @param r: chain_t const &",
"func":1
},
{
"ref":"ida_hexrays.chain_t.includes",
"url":19,
"doc":"includes(self, r) -> bool @param r: chain_t const &",
"func":1
},
{
"ref":"ida_hexrays.chain_t.endoff",
"url":19,
"doc":"endoff(self) -> voff_t",
"func":1
},
{
"ref":"ida_hexrays.chain_t.dstr",
"url":19,
"doc":"dstr(self) -> char const  ",
"func":1
},
{
"ref":"ida_hexrays.chain_t.append_list",
"url":19,
"doc":"append_list(self, mba, list) Append the contents of the chain to the specified list of locations. @param mba: (C : const mba_t  ) mba_t const  @param list: (C : mlist_t  )",
"func":1
},
{
"ref":"ida_hexrays.chain_t.clear_varnum",
"url":19,
"doc":"clear_varnum(self)",
"func":1
},
{
"ref":"ida_hexrays.chain_t.push_back",
"url":21,
"doc":"push_back(self, x) @param x: int const & push_back(self) -> int &",
"func":1
},
{
"ref":"ida_hexrays.chain_t.pop_back",
"url":21,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.chain_t.size",
"url":21,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.chain_t.empty",
"url":21,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.chain_t.at",
"url":21,
"doc":"__getitem__(self, i) -> int const & @param i: size_t",
"func":1
},
{
"ref":"ida_hexrays.chain_t.qclear",
"url":21,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.chain_t.clear",
"url":21,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.chain_t.resize",
"url":21,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: int const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_hexrays.chain_t.capacity",
"url":21,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.chain_t.reserve",
"url":21,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_hexrays.chain_t.truncate",
"url":21,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_hexrays.chain_t.swap",
"url":21,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_hexrays.chain_t.extract",
"url":21,
"doc":"extract(self) -> int  ",
"func":1
},
{
"ref":"ida_hexrays.chain_t.inject",
"url":21,
"doc":"inject(self, s, len) @param s: int  @param len: size_t",
"func":1
},
{
"ref":"ida_hexrays.chain_t.begin",
"url":21,
"doc":"begin(self) -> qvector  iterator begin(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_hexrays.chain_t.end",
"url":21,
"doc":"end(self) -> qvector  iterator end(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_hexrays.chain_t.insert",
"url":21,
"doc":"insert(self, it, x) -> qvector  iterator @param it: qvector  iterator @param x: int const &",
"func":1
},
{
"ref":"ida_hexrays.chain_t.erase",
"url":21,
"doc":"erase(self, it) -> qvector  iterator @param it: qvector  iterator erase(self, first, last) -> qvector  iterator @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_hexrays.chain_t.find",
"url":21,
"doc":"find(self, x) -> qvector  iterator @param x: int const & find(self, x) -> qvector  const_iterator @param x: int const &",
"func":1
},
{
"ref":"ida_hexrays.chain_t.has",
"url":21,
"doc":"has(self, x) -> bool @param x: int const &",
"func":1
},
{
"ref":"ida_hexrays.chain_t.add_unique",
"url":21,
"doc":"add_unique(self, x) -> bool @param x: int const &",
"func":1
},
{
"ref":"ida_hexrays.chain_t.append",
"url":21,
"doc":"push_back(self, x) @param x: int const & push_back(self) -> int &",
"func":1
},
{
"ref":"ida_hexrays.CHF_INITED",
"url":19,
"doc":"is chain initialized? (valid only after lvar allocation)"
},
{
"ref":"ida_hexrays.CHF_REPLACED",
"url":19,
"doc":"chain operands have been replaced?"
},
{
"ref":"ida_hexrays.CHF_OVER",
"url":19,
"doc":"overlapped chain"
},
{
"ref":"ida_hexrays.CHF_FAKE",
"url":19,
"doc":"fake chain created by widen_chains()"
},
{
"ref":"ida_hexrays.CHF_PASSTHRU",
"url":19,
"doc":"pass-thru chain, must use the input variable to the block"
},
{
"ref":"ida_hexrays.CHF_TERM",
"url":19,
"doc":"terminating chain; the variable does not survive across the block"
},
{
"ref":"ida_hexrays.block_chains_t",
"url":19,
"doc":"Proxy of C block_chains_t class. __init__(self) -> block_chains_t"
},
{
"ref":"ida_hexrays.block_chains_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.block_chains_t.get_reg_chain",
"url":19,
"doc":"get_reg_chain(self, reg, width=1) -> chain_t @param reg: mreg_t @param width: int",
"func":1
},
{
"ref":"ida_hexrays.block_chains_t.get_stk_chain",
"url":19,
"doc":"get_stk_chain(self, off, width=1) -> chain_t @param off: sval_t @param width: int",
"func":1
},
{
"ref":"ida_hexrays.block_chains_t.get_chain",
"url":19,
"doc":"get_chain(self, k, width=1) -> chain_t @param k: voff_t const & @param width: int get_chain(self, ch) -> chain_t @param ch: chain_t const &",
"func":1
},
{
"ref":"ida_hexrays.block_chains_t.dstr",
"url":19,
"doc":"dstr(self) -> char const  ",
"func":1
},
{
"ref":"ida_hexrays.chain_visitor_t",
"url":19,
"doc":"Proxy of C chain_visitor_t class. __init__(self) -> chain_visitor_t @param self: PyObject  "
},
{
"ref":"ida_hexrays.chain_visitor_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.chain_visitor_t.parent",
"url":19,
"doc":"parent of the current chain"
},
{
"ref":"ida_hexrays.chain_visitor_t.visit_chain",
"url":19,
"doc":"visit_chain(self, nblock, ch) -> int @param nblock: int @param ch: chain_t &",
"func":1
},
{
"ref":"ida_hexrays.graph_chains_t",
"url":19,
"doc":"Proxy of C graph_chains_t class. __init__(self) -> graph_chains_t"
},
{
"ref":"ida_hexrays.graph_chains_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.graph_chains_t.for_all_chains",
"url":19,
"doc":"for_all_chains(self, cv, gca_flags) -> int Visit all chains @param cv: (C : chain_visitor_t &) chain visitor @param gca_flags: (C : int) combination of GCA_ bits",
"func":1
},
{
"ref":"ida_hexrays.graph_chains_t.is_locked",
"url":19,
"doc":"is_locked(self) -> bool Are the chains locked? It is a good idea to lock the chains before using them. This ensures that they won't be recalculated and reallocated during the use. See the chain_keeper_t class for that.",
"func":1
},
{
"ref":"ida_hexrays.graph_chains_t.acquire",
"url":19,
"doc":"acquire(self) Lock the chains.",
"func":1
},
{
"ref":"ida_hexrays.graph_chains_t.release",
"url":19,
"doc":"release(self) Unlock the chains.",
"func":1
},
{
"ref":"ida_hexrays.graph_chains_t.swap",
"url":19,
"doc":"swap(self, r) @param r: graph_chains_t &",
"func":1
},
{
"ref":"ida_hexrays.graph_chains_t.push_back",
"url":19,
"doc":"push_back(self, x) @param x: block_chains_t const & push_back(self) -> block_chains_t",
"func":1
},
{
"ref":"ida_hexrays.graph_chains_t.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.graph_chains_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.graph_chains_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.graph_chains_t.at",
"url":19,
"doc":"at(self, _idx) -> block_chains_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_hexrays.graph_chains_t.qclear",
"url":19,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.graph_chains_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.graph_chains_t.resize",
"url":19,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: block_chains_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_hexrays.graph_chains_t.grow",
"url":19,
"doc":"grow(self, x=block_chains_t( @param x: block_chains_t const &",
"func":1
},
{
"ref":"ida_hexrays.graph_chains_t.capacity",
"url":19,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.graph_chains_t.reserve",
"url":19,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_hexrays.graph_chains_t.truncate",
"url":19,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_hexrays.graph_chains_t.extract",
"url":19,
"doc":"extract(self) -> block_chains_t",
"func":1
},
{
"ref":"ida_hexrays.graph_chains_t.inject",
"url":19,
"doc":"inject(self, s, len) @param s: block_chains_t  @param len: size_t",
"func":1
},
{
"ref":"ida_hexrays.graph_chains_t.begin",
"url":19,
"doc":"begin(self) -> block_chains_t",
"func":1
},
{
"ref":"ida_hexrays.graph_chains_t.end",
"url":19,
"doc":"end(self) -> block_chains_t",
"func":1
},
{
"ref":"ida_hexrays.graph_chains_t.insert",
"url":19,
"doc":"insert(self, it, x) -> block_chains_t @param it: qvector  iterator @param x: block_chains_t const &",
"func":1
},
{
"ref":"ida_hexrays.graph_chains_t.erase",
"url":19,
"doc":"erase(self, it) -> block_chains_t @param it: qvector  iterator erase(self, first, last) -> block_chains_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_hexrays.GCA_EMPTY",
"url":19,
"doc":"include empty chains"
},
{
"ref":"ida_hexrays.GCA_SPEC",
"url":19,
"doc":"include chains for special registers"
},
{
"ref":"ida_hexrays.GCA_ALLOC",
"url":19,
"doc":"enumerate only allocated chains"
},
{
"ref":"ida_hexrays.GCA_NALLOC",
"url":19,
"doc":"enumerate only non-allocated chains"
},
{
"ref":"ida_hexrays.GCA_OFIRST",
"url":19,
"doc":"consider only chains of the first block"
},
{
"ref":"ida_hexrays.GCA_OLAST",
"url":19,
"doc":"consider only chains of the last block"
},
{
"ref":"ida_hexrays.minsn_t",
"url":19,
"doc":"Proxy of C minsn_t class. __init__(self, _ea) -> minsn_t @param _ea: ea_t __init__(self, m) -> minsn_t @param m: minsn_t const &"
},
{
"ref":"ida_hexrays.minsn_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.minsn_t.opcode",
"url":19,
"doc":"instruction opcode"
},
{
"ref":"ida_hexrays.minsn_t.iprops",
"url":19,
"doc":"combination of instruction property bits bits"
},
{
"ref":"ida_hexrays.minsn_t.next",
"url":19,
"doc":"next insn in doubly linked list. check also nexti()"
},
{
"ref":"ida_hexrays.minsn_t.prev",
"url":19,
"doc":"prev insn in doubly linked list. check also previ()"
},
{
"ref":"ida_hexrays.minsn_t.ea",
"url":19,
"doc":"instruction address"
},
{
"ref":"ida_hexrays.minsn_t.l",
"url":19,
"doc":"left operand"
},
{
"ref":"ida_hexrays.minsn_t.r",
"url":19,
"doc":"right operand"
},
{
"ref":"ida_hexrays.minsn_t.d",
"url":19,
"doc":"destination operand"
},
{
"ref":"ida_hexrays.minsn_t.is_optional",
"url":19,
"doc":"is_optional(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_combined",
"url":19,
"doc":"is_combined(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_farcall",
"url":19,
"doc":"is_farcall(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_cleaning_pop",
"url":19,
"doc":"is_cleaning_pop(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_extstx",
"url":19,
"doc":"is_extstx(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_tailcall",
"url":19,
"doc":"is_tailcall(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_fpinsn",
"url":19,
"doc":"is_fpinsn(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_assert",
"url":19,
"doc":"is_assert(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_persistent",
"url":19,
"doc":"is_persistent(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_wild_match",
"url":19,
"doc":"is_wild_match(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_propagatable",
"url":19,
"doc":"is_propagatable(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_ignlowsrc",
"url":19,
"doc":"is_ignlowsrc(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_inverted_jx",
"url":19,
"doc":"is_inverted_jx(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.was_noret_icall",
"url":19,
"doc":"was_noret_icall(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_multimov",
"url":19,
"doc":"is_multimov(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_combinable",
"url":19,
"doc":"is_combinable(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.was_split",
"url":19,
"doc":"was_split(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_mbarrier",
"url":19,
"doc":"is_mbarrier(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.was_unmerged",
"url":19,
"doc":"was_unmerged(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.was_unpaired",
"url":19,
"doc":"was_unpaired(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.set_optional",
"url":19,
"doc":"set_optional(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.clr_combined",
"url":19,
"doc":"clr_combined(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.set_farcall",
"url":19,
"doc":"set_farcall(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.set_cleaning_pop",
"url":19,
"doc":"set_cleaning_pop(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.set_extstx",
"url":19,
"doc":"set_extstx(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.set_tailcall",
"url":19,
"doc":"set_tailcall(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.clr_tailcall",
"url":19,
"doc":"clr_tailcall(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.set_fpinsn",
"url":19,
"doc":"set_fpinsn(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.clr_fpinsn",
"url":19,
"doc":"clr_fpinsn(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.set_assert",
"url":19,
"doc":"set_assert(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.clr_assert",
"url":19,
"doc":"clr_assert(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.set_persistent",
"url":19,
"doc":"set_persistent(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.set_wild_match",
"url":19,
"doc":"set_wild_match(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.clr_propagatable",
"url":19,
"doc":"clr_propagatable(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.set_ignlowsrc",
"url":19,
"doc":"set_ignlowsrc(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.clr_ignlowsrc",
"url":19,
"doc":"clr_ignlowsrc(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.set_inverted_jx",
"url":19,
"doc":"set_inverted_jx(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.set_noret_icall",
"url":19,
"doc":"set_noret_icall(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.clr_noret_icall",
"url":19,
"doc":"clr_noret_icall(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.set_multimov",
"url":19,
"doc":"set_multimov(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.clr_multimov",
"url":19,
"doc":"clr_multimov(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.set_combinable",
"url":19,
"doc":"set_combinable(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.clr_combinable",
"url":19,
"doc":"clr_combinable(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.set_mbarrier",
"url":19,
"doc":"set_mbarrier(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.set_unmerged",
"url":19,
"doc":"set_unmerged(self)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.set_split_size",
"url":19,
"doc":"set_split_size(self, s) @param s: int",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.get_split_size",
"url":19,
"doc":"get_split_size(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.swap",
"url":19,
"doc":"swap(self, m) Swap two instructions. The prev/next fields are not modified by this function because it would corrupt the doubly linked list. @param m: (C : minsn_t &)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.dstr",
"url":19,
"doc":"dstr(self) -> char const  Get displayable text without tags in a static buffer.",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.setaddr",
"url":19,
"doc":"setaddr(self, new_ea) Change the instruction address. This function modifies subinstructions as well. @param new_ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.optimize_solo",
"url":19,
"doc":"optimize_solo(self, optflags=0) -> int Optimize one instruction without context. This function does not have access to the instruction context (the previous and next instructions in the list, the block number, etc). It performs only basic optimizations that are available without this info. @param optflags: (C : int) combination of optimization flags bits @return: number of changes, 0-unchanged See also mblock_t optimize_insn()",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.optimize_subtree",
"url":19,
"doc":"optimize_subtree(self, blk, top, parent, converted_call, optflags=0x0002) -> int Optimize instruction in its context. Do not use this function, use mblock_t optimize() @param blk: (C : mblock_t  ) @param top: (C : minsn_t  ) @param parent: (C : minsn_t  ) @param converted_call: (C : ea_t  ) @param optflags: (C : int)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.for_all_ops",
"url":19,
"doc":"for_all_ops(self, mv) -> int Visit all instruction operands. This function visits subinstruction operands as well. @param mv: (C : mop_visitor_t &) operand visitor @return: non-zero value returned by mv.visit_mop() or zero",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.for_all_insns",
"url":19,
"doc":"for_all_insns(self, mv) -> int Visit all instructions. This function visits the instruction itself and all its subinstructions. @param mv: (C : minsn_visitor_t &) instruction visitor @return: non-zero value returned by mv.visit_mop() or zero",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.equal_insns",
"url":19,
"doc":"equal_insns(self, m, eqflags) -> bool Compare instructions. This is the main comparison function for instructions. @param m: (C : const minsn_t &) instruction to compare with @param eqflags: (C : int) combination of comparison bits bits",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.lexcompare",
"url":19,
"doc":"lexcompare(self, ri) -> int @param ri: minsn_t const &",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_noret_call",
"url":19,
"doc":"is_noret_call(self, flags=0) -> bool Is a non-returing call? @param flags: (C : int) combination of NORET_ . bits",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_unknown_call",
"url":19,
"doc":"is_unknown_call(self) -> bool Is an unknown call? Unknown calls are calls without the argument list (mcallinfo_t). Usually the argument lists are determined by mba_t analyze_calls(). Unknown calls exist until the MMAT_CALLS maturity level. See also mblock_t is_call_block",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_helper",
"url":19,
"doc":"is_helper(self, name) -> bool Is a helper call with the specified name? Helper calls usually have well-known function names (see Well known function names) but they may have any other name. The decompiler does not assume any special meaning for non-well-known names. @param name: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.find_call",
"url":19,
"doc":"find_call(self, with_helpers=False) -> minsn_t Find a call instruction. Check for the current instruction and its subinstructions. @param with_helpers: (C : bool) consider helper calls as well?",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.contains_call",
"url":19,
"doc":"contains_call(self, with_helpers=False) -> bool Does the instruction contain a call? @param with_helpers: (C : bool)",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.has_side_effects",
"url":19,
"doc":"has_side_effects(self, include_ldx_and_divs=False) -> bool Does the instruction have a side effect? @param include_ldx_and_divs: (C : bool) consider ldx/div/mod as having side effects? stx is always considered as having side effects. Apart from ldx/std only call may have side effects.",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.get_role",
"url":19,
"doc":"get_role(self) -> funcrole_t Get the function role of a call.",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_memcpy",
"url":19,
"doc":"is_memcpy(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_memset",
"url":19,
"doc":"is_memset(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_alloca",
"url":19,
"doc":"is_alloca(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_bswap",
"url":19,
"doc":"is_bswap(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_readflags",
"url":19,
"doc":"is_readflags(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.contains_opcode",
"url":19,
"doc":"contains_opcode(self, mcode) -> bool Does the instruction have the specified opcode? This function searches subinstructions as well. @param mcode: (C : mcode_t) opcode to search for.",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.find_opcode",
"url":19,
"doc":"find_opcode(self, mcode) -> minsn_t @param mcode: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.find_ins_op",
"url":19,
"doc":"find_ins_op(self, op=m_nop) -> minsn_t @param op: enum mcode_t",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.find_num_op",
"url":19,
"doc":"find_num_op(self) -> mop_t",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_mov",
"url":19,
"doc":"is_mov(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_like_move",
"url":19,
"doc":"is_like_move(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.modifies_d",
"url":19,
"doc":"modifies_d(self) -> bool Does the instruction modify its 'd' operand? Some instructions (e.g. m_stx) do not modify the 'd' operand.",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.modifies_pair_mop",
"url":19,
"doc":"modifies_pair_mop(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_between",
"url":19,
"doc":"is_between(self, m1, m2) -> bool Is the instruction in the specified range of instructions? @param m1: (C : const minsn_t  ) beginning of the range in the doubly linked list @param m2: (C : const minsn_t  ) end of the range in the doubly linked list (excluded, may be nullptr) This function assumes that m1 and m2 belong to the same basic block and they are top level instructions.",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.is_after",
"url":19,
"doc":"is_after(self, m) -> bool Is the instruction after the specified one? @param m: (C : const minsn_t  ) the instruction to compare against in the list",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.may_use_aliased_memory",
"url":19,
"doc":"may_use_aliased_memory(self) -> bool Is it possible for the instruction to use aliased memory?",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.serialize",
"url":19,
"doc":"serialize(self, b) -> int Serialize an instruction @param b: (C : bytevec_t  ) the output buffer @return: the serialization format that was used to store info",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.deserialize",
"url":19,
"doc":"deserialize(self, bytes, format_version) -> bool Deserialize an instruction @param bytes: (C : const uchar  ) pointer to serialized data @param format_version: (C : int) serialization format version. this value is returned by minsn_t serialize() @return: success",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.obj_id",
"url":19,
"doc":"_obj_id(self) -> PyObject  "
},
{
"ref":"ida_hexrays.minsn_t.replace_by",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.minsn_t.meminfo",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.IPROP_OPTIONAL",
"url":19,
"doc":"optional instruction"
},
{
"ref":"ida_hexrays.IPROP_PERSIST",
"url":19,
"doc":"persistent insn; they are not destroyed"
},
{
"ref":"ida_hexrays.IPROP_WILDMATCH",
"url":19,
"doc":"match multiple insns"
},
{
"ref":"ida_hexrays.IPROP_CLNPOP",
"url":19,
"doc":"the purpose of the instruction is to clean stack (e.g. \"pop ecx\" is often used for that)"
},
{
"ref":"ida_hexrays.IPROP_FPINSN",
"url":19,
"doc":"floating point insn"
},
{
"ref":"ida_hexrays.IPROP_FARCALL",
"url":19,
"doc":"call of a far function using push cs/call sequence"
},
{
"ref":"ida_hexrays.IPROP_TAILCALL",
"url":19,
"doc":"tail call"
},
{
"ref":"ida_hexrays.IPROP_ASSERT",
"url":19,
"doc":"assertion: usually mov  val, op. assertions are used to help the optimizer. assertions are ignored when generating ctree"
},
{
"ref":"ida_hexrays.IPROP_SPLIT",
"url":19,
"doc":"the instruction has been split:"
},
{
"ref":"ida_hexrays.IPROP_SPLIT1",
"url":19,
"doc":"into 1 byte"
},
{
"ref":"ida_hexrays.IPROP_SPLIT2",
"url":19,
"doc":"into 2 bytes"
},
{
"ref":"ida_hexrays.IPROP_SPLIT4",
"url":19,
"doc":"into 4 bytes"
},
{
"ref":"ida_hexrays.IPROP_SPLIT8",
"url":19,
"doc":"into 8 bytes"
},
{
"ref":"ida_hexrays.IPROP_COMBINED",
"url":19,
"doc":"insn has been modified because of a partial reference"
},
{
"ref":"ida_hexrays.IPROP_EXTSTX",
"url":19,
"doc":"this is m_ext propagated into m_stx"
},
{
"ref":"ida_hexrays.IPROP_IGNLOWSRC",
"url":19,
"doc":"low part of the instruction source operand has been created artificially (this bit is used only for 'and x, 80 .')"
},
{
"ref":"ida_hexrays.IPROP_INV_JX",
"url":19,
"doc":"inverted conditional jump"
},
{
"ref":"ida_hexrays.IPROP_WAS_NORET",
"url":19,
"doc":"was noret icall"
},
{
"ref":"ida_hexrays.IPROP_MULTI_MOV",
"url":19,
"doc":"bits that can be set by plugins: the minsn was generated as part of insn that moves multiple registers (example: STM on ARM may transfer multiple registers)"
},
{
"ref":"ida_hexrays.IPROP_DONT_PROP",
"url":19,
"doc":"may not propagate"
},
{
"ref":"ida_hexrays.IPROP_DONT_COMB",
"url":19,
"doc":"may not combine this instruction with others"
},
{
"ref":"ida_hexrays.IPROP_MBARRIER",
"url":19,
"doc":"this instruction acts as a memory barrier (instructions accessing memory may not be reordered past it)"
},
{
"ref":"ida_hexrays.IPROP_UNMERGED",
"url":19,
"doc":"'goto' instruction was transformed info 'call'"
},
{
"ref":"ida_hexrays.IPROP_UNPAIRED",
"url":19,
"doc":"instruction is a result of del_dest_pairs() transformation"
},
{
"ref":"ida_hexrays.OPTI_ADDREXPRS",
"url":19,
"doc":"optimize all address expressions (&x+N; &x-&y)"
},
{
"ref":"ida_hexrays.OPTI_MINSTKREF",
"url":19,
"doc":"may update minstkref"
},
{
"ref":"ida_hexrays.OPTI_COMBINSNS",
"url":19,
"doc":"may combine insns (only for optimize_insn)"
},
{
"ref":"ida_hexrays.OPTI_NO_LDXOPT",
"url":19,
"doc":"the function is called after the propagation attempt, we do not optimize low/high(ldx) in this case"
},
{
"ref":"ida_hexrays.OPTI_NO_VALRNG",
"url":19,
"doc":"forbid using valranges"
},
{
"ref":"ida_hexrays.EQ_IGNSIZE",
"url":19,
"doc":"ignore source operand sizes"
},
{
"ref":"ida_hexrays.EQ_IGNCODE",
"url":19,
"doc":"ignore instruction opcodes"
},
{
"ref":"ida_hexrays.EQ_CMPDEST",
"url":19,
"doc":"compare instruction destinations"
},
{
"ref":"ida_hexrays.EQ_OPTINSN",
"url":19,
"doc":"optimize mop_d operands"
},
{
"ref":"ida_hexrays.getf_reginsn",
"url":19,
"doc":"getf_reginsn(ins) -> minsn_t @param ins: minsn_t  ",
"func":1
},
{
"ref":"ida_hexrays.getb_reginsn",
"url":19,
"doc":"getb_reginsn(ins) -> minsn_t @param ins: minsn_t  ",
"func":1
},
{
"ref":"ida_hexrays.BLT_NONE",
"url":19,
"doc":"unknown block type"
},
{
"ref":"ida_hexrays.BLT_STOP",
"url":19,
"doc":"stops execution regularly (must be the last block)"
},
{
"ref":"ida_hexrays.BLT_0WAY",
"url":19,
"doc":"does not have successors (tail is a noret function)"
},
{
"ref":"ida_hexrays.BLT_1WAY",
"url":19,
"doc":"passes execution to one block (regular or goto block)"
},
{
"ref":"ida_hexrays.BLT_2WAY",
"url":19,
"doc":"passes execution to two blocks (conditional jump)"
},
{
"ref":"ida_hexrays.BLT_NWAY",
"url":19,
"doc":"passes execution to many blocks (switch idiom)"
},
{
"ref":"ida_hexrays.BLT_XTRN",
"url":19,
"doc":"external block (out of function address)"
},
{
"ref":"ida_hexrays.mblock_t",
"url":19,
"doc":"Proxy of C mblock_t class."
},
{
"ref":"ida_hexrays.mblock_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.mblock_t.nextb",
"url":19,
"doc":"next block in the doubly linked list"
},
{
"ref":"ida_hexrays.mblock_t.prevb",
"url":19,
"doc":"previous block in the doubly linked list"
},
{
"ref":"ida_hexrays.mblock_t.flags",
"url":19,
"doc":"combination of Basic block properties bits"
},
{
"ref":"ida_hexrays.mblock_t.start",
"url":19,
"doc":"start address"
},
{
"ref":"ida_hexrays.mblock_t.end",
"url":19,
"doc":"end address note: we cannot rely on start/end addresses very much because instructions are propagated between blocks"
},
{
"ref":"ida_hexrays.mblock_t.head",
"url":19,
"doc":"pointer to the first instruction of the block"
},
{
"ref":"ida_hexrays.mblock_t.tail",
"url":19,
"doc":"pointer to the last instruction of the block"
},
{
"ref":"ida_hexrays.mblock_t.mba",
"url":19,
"doc":"the parent micro block array"
},
{
"ref":"ida_hexrays.mblock_t.serial",
"url":19,
"doc":"block number"
},
{
"ref":"ida_hexrays.mblock_t.type",
"url":19,
"doc":"block type (BLT_NONE - not computed yet)"
},
{
"ref":"ida_hexrays.mblock_t.dead_at_start",
"url":19,
"doc":"data that is dead at the block entry"
},
{
"ref":"ida_hexrays.mblock_t.mustbuse",
"url":19,
"doc":"data that must be used by the block"
},
{
"ref":"ida_hexrays.mblock_t.maybuse",
"url":19,
"doc":"data that may be used by the block"
},
{
"ref":"ida_hexrays.mblock_t.mustbdef",
"url":19,
"doc":"data that must be defined by the block"
},
{
"ref":"ida_hexrays.mblock_t.maybdef",
"url":19,
"doc":"data that may be defined by the block"
},
{
"ref":"ida_hexrays.mblock_t.dnu",
"url":19,
"doc":"data that is defined but not used in the block"
},
{
"ref":"ida_hexrays.mblock_t.maxbsp",
"url":19,
"doc":"maximal sp value in the block (0 .stacksize)"
},
{
"ref":"ida_hexrays.mblock_t.minbstkref",
"url":19,
"doc":"lowest stack location accessible with indirect addressing (offset from the stack bottom) initially it is 0 (not computed)"
},
{
"ref":"ida_hexrays.mblock_t.minbargref",
"url":19,
"doc":"the same for arguments"
},
{
"ref":"ida_hexrays.mblock_t.predset",
"url":19,
"doc":"control flow graph: list of our predecessors use npred() and pred() to access it"
},
{
"ref":"ida_hexrays.mblock_t.succset",
"url":19,
"doc":"control flow graph: list of our successors use nsucc() and succ() to access it"
},
{
"ref":"ida_hexrays.mblock_t.mark_lists_dirty",
"url":19,
"doc":"mark_lists_dirty(self)",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.request_propagation",
"url":19,
"doc":"request_propagation(self)",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.needs_propagation",
"url":19,
"doc":"needs_propagation(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.request_demote64",
"url":19,
"doc":"request_demote64(self)",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.lists_dirty",
"url":19,
"doc":"lists_dirty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.lists_ready",
"url":19,
"doc":"lists_ready(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.make_lists_ready",
"url":19,
"doc":"make_lists_ready(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.npred",
"url":19,
"doc":"npred(self) -> int Get number of block predecessors.",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.nsucc",
"url":19,
"doc":"nsucc(self) -> int Get number of block successors.",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.pred",
"url":19,
"doc":"pred(self, n) -> int @param n: int",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.succ",
"url":19,
"doc":"succ(self, n) -> int @param n: int",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.dump",
"url":19,
"doc":"dump(self) Dump block info. This function is useful for debugging, see mba_t dump for info",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.dump_block",
"url":19,
"doc":"dump_block(self, title) @param title: char const  ",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.insert_into_block",
"url":19,
"doc":"insert_into_block(self, nm, om) -> minsn_t Insert instruction into the doubly linked list @param nm: (C : minsn_t  ) new instruction @param om: (C : minsn_t  ) existing instruction, part of the doubly linked list if nullptr, then the instruction will be inserted at the beginning of the list NM will be inserted immediately after OM @return: pointer to NM",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.remove_from_block",
"url":19,
"doc":"remove_from_block(self, m) -> minsn_t Remove instruction from the doubly linked list @param m: (C : minsn_t  ) instruction to remove The removed instruction is not deleted, the caller gets its ownership @return: pointer to the next instruction",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.for_all_insns",
"url":19,
"doc":"for_all_insns(self, mv) -> int Visit all instructions. This function visits subinstructions too. @param mv: (C : minsn_visitor_t &) instruction visitor @return: zero or the value returned by mv.visit_insn() See also mba_t for_all_topinsns()",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.for_all_ops",
"url":19,
"doc":"for_all_ops(self, mv) -> int Visit all operands. This function visit subinstruction operands too. @param mv: (C : mop_visitor_t &) operand visitor @return: zero or the value returned by mv.visit_mop()",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.for_all_uses",
"url":19,
"doc":"for_all_uses(self, list, i1, i2, mmv) -> int Visit all operands that use LIST. @param list: (C : mlist_t  ) ptr to the list of locations. it may be modified: parts that get redefined by the instructions in [i1,i2) will be deleted. @param i1: (C : minsn_t  ) starting instruction. must be a top level insn. @param i2: (C : minsn_t  ) ending instruction (excluded). must be a top level insn. @param mmv: (C : mlist_mop_visitor_t &) operand visitor @return: zero or the value returned by mmv.visit_mop()",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.optimize_insn",
"url":19,
"doc":"optimize_insn(self, m, optflags=0x0002|0x0004) -> int Optimize one instruction in the context of the block. @param m: (C : minsn_t  ) pointer to a top level instruction @param optflags: (C : int) combination of optimization flags bits @return: number of changes made to the block This function may change other instructions in the block too. However, it will not destroy top level instructions (it may convert them to nop's). This function performs only intrablock modifications. See also minsn_t optimize_solo()",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.optimize_block",
"url":19,
"doc":"optimize_block(self) -> int Optimize a basic block. Usually there is no need to call this function explicitly because the decompiler will call it itself if optinsn_t func or optblock_t func return non-zero. @return: number of changes made to the block",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.build_lists",
"url":19,
"doc":"build_lists(self, kill_deads) -> int Build def-use lists and eliminate deads. @param kill_deads: (C : bool) do delete dead instructions? @return: the number of eliminated instructions Better mblock_t call make_lists_ready() rather than this function.",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.optimize_useless_jump",
"url":19,
"doc":"optimize_useless_jump(self) -> int Remove a jump at the end of the block if it is useless. This function preserves any side effects when removing a useless jump. Both conditional and unconditional jumps are handled (and jtbl too). This function deletes useless jumps, not only replaces them with a nop. (please note that \\optimize_insn does not handle useless jumps). @return: number of changes made to the block",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.append_use_list",
"url":19,
"doc":"append_use_list(self, list, op, maymust, mask=bitrange_t(0, USHRT_MAX Append use-list of an operand. This function calculates list of locations that may or must be used by the operand and appends it to LIST. @param list: (C : mlist_t  ) ptr to the output buffer. we will append to it. @param op: (C : const mop_t &) operand to calculate the use list of @param maymust: (C : maymust_t) should we calculate 'may-use' or 'must-use' list? see maymust_t for more details. @param mask: (C : bitrange_t) if only part of the operand should be considered, a bitmask can be used to specify which part. example: op=AX,mask=0xFF means that we will consider only AL.",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.append_def_list",
"url":19,
"doc":"append_def_list(self, list, op, maymust) Append def-list of an operand. This function calculates list of locations that may or must be modified by the operand and appends it to LIST. @param list: (C : mlist_t  ) ptr to the output buffer. we will append to it. @param op: (C : const mop_t &) operand to calculate the def list of @param maymust: (C : maymust_t) should we calculate 'may-def' or 'must-def' list? see maymust_t for more details.",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.build_use_list",
"url":19,
"doc":"build_use_list(self, ins, maymust) -> mlist_t Build use-list of an instruction. This function calculates list of locations that may or must be used by the instruction. Examples: \"ldx ds.2, eax.4, ebx.4\", may-list: all aliasable memory \"ldx ds.2, eax.4, ebx.4\", must-list: empty Since LDX uses EAX for indirect access, it may access any aliasable memory. On the other hand, we cannot tell for sure which memory cells will be accessed, this is why the must-list is empty. @param ins: (C : const minsn_t &) instruction to calculate the use list of @param maymust: (C : maymust_t) should we calculate 'may-use' or 'must-use' list? see maymust_t for more details. @return: the calculated use-list",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.build_def_list",
"url":19,
"doc":"build_def_list(self, ins, maymust) -> mlist_t Build def-list of an instruction. This function calculates list of locations that may or must be modified by the instruction. Examples: \"stx ebx.4, ds.2, eax.4\", may-list: all aliasable memory \"stx ebx.4, ds.2, eax.4\", must-list: empty Since STX uses EAX for indirect access, it may modify any aliasable memory. On the other hand, we cannot tell for sure which memory cells will be modified, this is why the must-list is empty. @param ins: (C : const minsn_t &) instruction to calculate the def list of @param maymust: (C : maymust_t) should we calculate 'may-def' or 'must-def' list? see maymust_t for more details. @return: the calculated def-list",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.is_used",
"url":19,
"doc":"is_used(self, list, i1, i2, maymust=MAY_ACCESS) -> bool Is the list used by the specified instruction range? @param list: (C : mlist_t  ) list of locations. LIST may be modified by the function: redefined locations will be removed from it. @param i1: (C : const minsn_t  ) starting instruction of the range (must be a top level insn) @param i2: (C : const minsn_t  ) end instruction of the range (must be a top level insn) i2 is excluded from the range. it can be specified as nullptr. i1 and i2 must belong to the same block. @param maymust: (C : maymust_t) should we search in 'may-access' or 'must-access' mode?",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.find_first_use",
"url":19,
"doc":"find_first_use(self, list, i1, i2, maymust=MAY_ACCESS) -> minsn_t @param list: mlist_t  @param i1: minsn_t  @param i2: minsn_t const  @param maymust: maymust_t",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.is_redefined",
"url":19,
"doc":"is_redefined(self, list, i1, i2, maymust=MAY_ACCESS) -> bool Is the list redefined by the specified instructions? @param list: (C : const mlist_t &) list of locations to check. @param i1: (C : const minsn_t  ) starting instruction of the range (must be a top level insn) @param i2: (C : const minsn_t  ) end instruction of the range (must be a top level insn) i2 is excluded from the range. it can be specified as nullptr. i1 and i2 must belong to the same block. @param maymust: (C : maymust_t) should we search in 'may-access' or 'must-access' mode?",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.find_redefinition",
"url":19,
"doc":"find_redefinition(self, list, i1, i2, maymust=MAY_ACCESS) -> minsn_t @param list: mlist_t const & @param i1: minsn_t  @param i2: minsn_t const  @param maymust: maymust_t",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.is_rhs_redefined",
"url":19,
"doc":"is_rhs_redefined(self, ins, i1, i2) -> bool Is the right hand side of the instruction redefined the insn range? \"right hand side\" corresponds to the source operands of the instruction. @param ins: (C : const minsn_t  ) instruction to consider @param i1: (C : const minsn_t  ) starting instruction of the range (must be a top level insn) @param i2: (C : const minsn_t  ) end instruction of the range (must be a top level insn) i2 is excluded from the range. it can be specified as nullptr. i1 and i2 must belong to the same block.",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.find_access",
"url":19,
"doc":"find_access(self, op, parent, mend, fdflags) -> minsn_t Find the instruction that accesses the specified operand. This function search inside one block. @param op: (C : const mop_t &) operand to search for @param parent: (C : minsn_t  ) ptr to ptr to a top level instruction. denotes the beginning of the search range. @param mend: (C : const minsn_t  ) end instruction of the range (must be a top level insn) mend is excluded from the range. it can be specified as nullptr. parent and mend must belong to the same block. @param fdflags: (C : int) combination of bits for mblock_t find_access bits @return: the instruction that accesses the operand. this instruction may be a sub-instruction. to find out the top level instruction, check out  p_i1. nullptr means 'not found'.",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.find_def",
"url":19,
"doc":"find_def(self, op, p_i1, i2, fdflags) -> minsn_t @param op: mop_t const & @param p_i1: minsn_t  @param i2: minsn_t const  @param fdflags: int",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.find_use",
"url":19,
"doc":"find_use(self, op, p_i1, i2, fdflags) -> minsn_t @param op: mop_t const & @param p_i1: minsn_t  @param i2: minsn_t const  @param fdflags: int",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.get_valranges",
"url":19,
"doc":"get_valranges(self, res, vivl, vrflags) -> bool Find possible values for an instruction. @param res: (C : valrng_t  ) set of value ranges @param vivl: (C : const vivl_t &) what to search for @param vrflags: (C : int) combination of bits for get_valranges bits get_valranges(self, res, vivl, m, vrflags) -> bool @param res: valrng_t  @param vivl: vivl_t const & @param m: minsn_t const  @param vrflags: int",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.make_nop",
"url":19,
"doc":"make_nop(self, m) Erase the instruction (convert it to nop) and mark the lists dirty. This is the recommended function to use because it also marks the block use-def lists dirty. @param m: (C : minsn_t  )",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.get_reginsn_qty",
"url":19,
"doc":"get_reginsn_qty(self) -> size_t Calculate number of regular instructions in the block. Assertions are skipped by this function. @return: Number of non-assertion instructions in the block.",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.is_call_block",
"url":19,
"doc":"is_call_block(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.is_unknown_call",
"url":19,
"doc":"is_unknown_call(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.is_nway",
"url":19,
"doc":"is_nway(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.is_branch",
"url":19,
"doc":"is_branch(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.is_simple_goto_block",
"url":19,
"doc":"is_simple_goto_block(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.is_simple_jcnd_block",
"url":19,
"doc":"is_simple_jcnd_block(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.preds",
"url":19,
"doc":"Iterates the list of predecessor blocks",
"func":1
},
{
"ref":"ida_hexrays.mblock_t.succs",
"url":19,
"doc":"Iterates the list of successor blocks",
"func":1
},
{
"ref":"ida_hexrays.MBL_PRIV",
"url":19,
"doc":"private block - no instructions except the specified are accepted (used in patterns)"
},
{
"ref":"ida_hexrays.MBL_NONFAKE",
"url":19,
"doc":"regular block"
},
{
"ref":"ida_hexrays.MBL_FAKE",
"url":19,
"doc":"fake block"
},
{
"ref":"ida_hexrays.MBL_GOTO",
"url":19,
"doc":"this block is a goto target"
},
{
"ref":"ida_hexrays.MBL_TCAL",
"url":19,
"doc":"aritifical call block for tail calls"
},
{
"ref":"ida_hexrays.MBL_PUSH",
"url":19,
"doc":"needs \"convert push/pop instructions\""
},
{
"ref":"ida_hexrays.MBL_DMT64",
"url":19,
"doc":"needs \"demote 64bits\""
},
{
"ref":"ida_hexrays.MBL_COMB",
"url":19,
"doc":"needs \"combine\" pass"
},
{
"ref":"ida_hexrays.MBL_PROP",
"url":19,
"doc":"needs 'propagation' pass"
},
{
"ref":"ida_hexrays.MBL_DEAD",
"url":19,
"doc":"needs \"eliminate deads\" pass"
},
{
"ref":"ida_hexrays.MBL_LIST",
"url":19,
"doc":"use/def lists are ready (not dirty)"
},
{
"ref":"ida_hexrays.MBL_INCONST",
"url":19,
"doc":"inconsistent lists: we are building them"
},
{
"ref":"ida_hexrays.MBL_CALL",
"url":19,
"doc":"call information has been built"
},
{
"ref":"ida_hexrays.MBL_BACKPROP",
"url":19,
"doc":"performed backprop_cc"
},
{
"ref":"ida_hexrays.MBL_NORET",
"url":19,
"doc":"dead end block: doesn't return execution control"
},
{
"ref":"ida_hexrays.MBL_DSLOT",
"url":19,
"doc":"block for delay slot"
},
{
"ref":"ida_hexrays.MBL_VALRANGES",
"url":19,
"doc":"should optimize using value ranges"
},
{
"ref":"ida_hexrays.MBL_KEEP",
"url":19,
"doc":"do not remove even if unreachable"
},
{
"ref":"ida_hexrays.MBL_INLINED",
"url":19,
"doc":"block was inlined, not originally part of mbr"
},
{
"ref":"ida_hexrays.MBL_EXTFRAME",
"url":19,
"doc":"an inlined block with an external frame"
},
{
"ref":"ida_hexrays.FD_BACKWARD",
"url":19,
"doc":"search direction"
},
{
"ref":"ida_hexrays.FD_FORWARD",
"url":19,
"doc":"search direction"
},
{
"ref":"ida_hexrays.FD_USE",
"url":19,
"doc":"look for use"
},
{
"ref":"ida_hexrays.FD_DEF",
"url":19,
"doc":"look for definition"
},
{
"ref":"ida_hexrays.FD_DIRTY",
"url":19,
"doc":"ignore possible implicit definitions by function calls and indirect memory access"
},
{
"ref":"ida_hexrays.VR_AT_START",
"url":19,
"doc":"get value ranges before the instruction or at the block start (if M is nullptr)"
},
{
"ref":"ida_hexrays.VR_AT_END",
"url":19,
"doc":"get value ranges after the instruction or at the block end, just after the last instruction (if M is nullptr)"
},
{
"ref":"ida_hexrays.VR_EXACT",
"url":19,
"doc":"find exact match. if not set, the returned valrng size will be >= vivl.size"
},
{
"ref":"ida_hexrays.WARN_VARARG_REGS",
"url":19,
"doc":"0 cannot handle register arguments in vararg function, discarded them"
},
{
"ref":"ida_hexrays.WARN_ILL_PURGED",
"url":19,
"doc":"1 odd caller purged bytes d, correcting"
},
{
"ref":"ida_hexrays.WARN_ILL_FUNCTYPE",
"url":19,
"doc":"2 invalid function type 's' has been ignored"
},
{
"ref":"ida_hexrays.WARN_VARARG_TCAL",
"url":19,
"doc":"3 cannot handle tail call to vararg"
},
{
"ref":"ida_hexrays.WARN_VARARG_NOSTK",
"url":19,
"doc":"4 call vararg without local stack"
},
{
"ref":"ida_hexrays.WARN_VARARG_MANY",
"url":19,
"doc":"5 too many varargs, some ignored"
},
{
"ref":"ida_hexrays.WARN_ADDR_OUTARGS",
"url":19,
"doc":"6 cannot handle address arithmetics in outgoing argument area of stack frame - unused"
},
{
"ref":"ida_hexrays.WARN_DEP_UNK_CALLS",
"url":19,
"doc":"7 found interdependent unknown calls"
},
{
"ref":"ida_hexrays.WARN_ILL_ELLIPSIS",
"url":19,
"doc":"8 erroneously detected ellipsis type has been ignored"
},
{
"ref":"ida_hexrays.WARN_GUESSED_TYPE",
"url":19,
"doc":"9 using guessed type s;"
},
{
"ref":"ida_hexrays.WARN_EXP_LINVAR",
"url":19,
"doc":"10 failed to expand a linear variable"
},
{
"ref":"ida_hexrays.WARN_WIDEN_CHAINS",
"url":19,
"doc":"11 failed to widen chains"
},
{
"ref":"ida_hexrays.WARN_BAD_PURGED",
"url":19,
"doc":"12 inconsistent function type and number of purged bytes"
},
{
"ref":"ida_hexrays.WARN_CBUILD_LOOPS",
"url":19,
"doc":"13 too many cbuild loops"
},
{
"ref":"ida_hexrays.WARN_NO_SAVE_REST",
"url":19,
"doc":"14 could not find valid save-restore pair for s"
},
{
"ref":"ida_hexrays.WARN_ODD_INPUT_REG",
"url":19,
"doc":"15 odd input register s"
},
{
"ref":"ida_hexrays.WARN_ODD_ADDR_USE",
"url":19,
"doc":"16 odd use of a variable address"
},
{
"ref":"ida_hexrays.WARN_MUST_RET_FP",
"url":19,
"doc":"17 function return type is incorrect (must be floating point)"
},
{
"ref":"ida_hexrays.WARN_ILL_FPU_STACK",
"url":19,
"doc":"18 inconsistent fpu stack"
},
{
"ref":"ida_hexrays.WARN_SELFREF_PROP",
"url":19,
"doc":"19 self-referencing variable has been detected"
},
{
"ref":"ida_hexrays.WARN_WOULD_OVERLAP",
"url":19,
"doc":"20 variables would overlap: s"
},
{
"ref":"ida_hexrays.WARN_ARRAY_INARG",
"url":19,
"doc":"21 array has been used for an input argument"
},
{
"ref":"ida_hexrays.WARN_MAX_ARGS",
"url":19,
"doc":"22 too many input arguments, some ignored"
},
{
"ref":"ida_hexrays.WARN_BAD_FIELD_TYPE",
"url":19,
"doc":"23 incorrect structure member type for s s, ignored"
},
{
"ref":"ida_hexrays.WARN_WRITE_CONST",
"url":19,
"doc":"24 write access to const memory at a has been detected"
},
{
"ref":"ida_hexrays.WARN_BAD_RETVAR",
"url":19,
"doc":"25 wrong return variable"
},
{
"ref":"ida_hexrays.WARN_FRAG_LVAR",
"url":19,
"doc":"26 fragmented variable at s may be wrong"
},
{
"ref":"ida_hexrays.WARN_HUGE_STKOFF",
"url":19,
"doc":"27 exceedingly huge offset into the stack frame"
},
{
"ref":"ida_hexrays.WARN_UNINITED_REG",
"url":19,
"doc":"28 reference to an uninitialized register has been removed: s"
},
{
"ref":"ida_hexrays.WARN_FIXED_INSN",
"url":19,
"doc":"29 fixed broken insn"
},
{
"ref":"ida_hexrays.WARN_WRONG_VA_OFF",
"url":19,
"doc":"30 wrong offset of va_list variable"
},
{
"ref":"ida_hexrays.WARN_CR_NOFIELD",
"url":19,
"doc":"31 CONTAINING_RECORD: no field 's' in struct 's' at d"
},
{
"ref":"ida_hexrays.WARN_CR_BADOFF",
"url":19,
"doc":"32 CONTAINING_RECORD: too small offset d for struct 's'"
},
{
"ref":"ida_hexrays.WARN_BAD_STROFF",
"url":19,
"doc":"33 user specified stroff has not been processed: s"
},
{
"ref":"ida_hexrays.WARN_BAD_VARSIZE",
"url":19,
"doc":"34 inconsistent variable size for 's'"
},
{
"ref":"ida_hexrays.WARN_UNSUPP_REG",
"url":19,
"doc":"35 unsupported processor register 's'"
},
{
"ref":"ida_hexrays.WARN_UNALIGNED_ARG",
"url":19,
"doc":"36 unaligned function argument 's'"
},
{
"ref":"ida_hexrays.WARN_BAD_STD_TYPE",
"url":19,
"doc":"37 corrupted or unexisting local type 's'"
},
{
"ref":"ida_hexrays.WARN_BAD_CALL_SP",
"url":19,
"doc":"38 bad sp value at call"
},
{
"ref":"ida_hexrays.WARN_MISSED_SWITCH",
"url":19,
"doc":"39 wrong markup of switch jump, skipped it"
},
{
"ref":"ida_hexrays.WARN_BAD_SP",
"url":19,
"doc":"40 positive sp value a has been found"
},
{
"ref":"ida_hexrays.WARN_BAD_STKPNT",
"url":19,
"doc":"41 wrong sp change point"
},
{
"ref":"ida_hexrays.WARN_UNDEF_LVAR",
"url":19,
"doc":"42 variable 's' is possibly undefined"
},
{
"ref":"ida_hexrays.WARN_JUMPOUT",
"url":19,
"doc":"43 control flows out of bounds"
},
{
"ref":"ida_hexrays.WARN_BAD_VALRNG",
"url":19,
"doc":"44 values range analysis failed"
},
{
"ref":"ida_hexrays.WARN_BAD_SHADOW",
"url":19,
"doc":"45 ignored the value written to the shadow area of the succeeding call"
},
{
"ref":"ida_hexrays.WARN_OPT_VALRNG",
"url":19,
"doc":"46 conditional instruction was optimized away because s"
},
{
"ref":"ida_hexrays.WARN_RET_LOCREF",
"url":19,
"doc":"47 returning address of temporary local variable 's'"
},
{
"ref":"ida_hexrays.WARN_BAD_MAPDST",
"url":19,
"doc":"48 too short map destination 's' for variable 's'"
},
{
"ref":"ida_hexrays.WARN_BAD_INSN",
"url":19,
"doc":"49 bad instruction"
},
{
"ref":"ida_hexrays.WARN_ODD_ABI",
"url":19,
"doc":"50 encountered odd instruction for the current ABI"
},
{
"ref":"ida_hexrays.WARN_UNBALANCED_STACK",
"url":19,
"doc":"51 unbalanced stack, ignored a potential tail call"
},
{
"ref":"ida_hexrays.WARN_OPT_VALRNG2",
"url":19,
"doc":"52 mask 0xX is shortened because s <= 0xX\""
},
{
"ref":"ida_hexrays.WARN_OPT_VALRNG3",
"url":19,
"doc":"53 masking with 0XX was optimized away because s <= 0xX"
},
{
"ref":"ida_hexrays.WARN_OPT_USELESS_JCND",
"url":19,
"doc":"54 simplified comparisons for 's': s became s"
},
{
"ref":"ida_hexrays.WARN_SUBFRAME_OVERFLOW",
"url":19,
"doc":"55 call arguments overflow the function chunk frame"
},
{
"ref":"ida_hexrays.WARN_MAX",
"url":19,
"doc":"may be used in notes as a placeholder when the warning id is not available"
},
{
"ref":"ida_hexrays.hexwarn_t",
"url":19,
"doc":"Proxy of C hexwarn_t class. __init__(self) -> hexwarn_t"
},
{
"ref":"ida_hexrays.hexwarn_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.hexwarn_t.ea",
"url":19,
"doc":"Address where the warning occurred."
},
{
"ref":"ida_hexrays.hexwarn_t.id",
"url":19,
"doc":"Warning id."
},
{
"ref":"ida_hexrays.hexwarn_t.text",
"url":19,
"doc":"Fully formatted text of the warning."
},
{
"ref":"ida_hexrays.hexwarn_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: hexwarn_t const &",
"func":1
},
{
"ref":"ida_hexrays.MMAT_ZERO",
"url":19,
"doc":"microcode does not exist"
},
{
"ref":"ida_hexrays.MMAT_GENERATED",
"url":19,
"doc":"generated microcode"
},
{
"ref":"ida_hexrays.MMAT_PREOPTIMIZED",
"url":19,
"doc":"preoptimized pass is complete"
},
{
"ref":"ida_hexrays.MMAT_LOCOPT",
"url":19,
"doc":"local optimization of each basic block is complete. control flow graph is ready too."
},
{
"ref":"ida_hexrays.MMAT_CALLS",
"url":19,
"doc":"detected call arguments. see also hxe_calls_done"
},
{
"ref":"ida_hexrays.MMAT_GLBOPT1",
"url":19,
"doc":"performed the first pass of global optimization"
},
{
"ref":"ida_hexrays.MMAT_GLBOPT2",
"url":19,
"doc":"most global optimization passes are done"
},
{
"ref":"ida_hexrays.MMAT_GLBOPT3",
"url":19,
"doc":"completed all global optimization. microcode is fixed now."
},
{
"ref":"ida_hexrays.MMAT_LVARS",
"url":19,
"doc":"allocated local variables"
},
{
"ref":"ida_hexrays.MMIDX_GLBLOW",
"url":19,
"doc":"global memory: low part"
},
{
"ref":"ida_hexrays.MMIDX_LVARS",
"url":19,
"doc":"stack: local variables"
},
{
"ref":"ida_hexrays.MMIDX_RETADDR",
"url":19,
"doc":"stack: return address"
},
{
"ref":"ida_hexrays.MMIDX_SHADOW",
"url":19,
"doc":"stack: shadow arguments"
},
{
"ref":"ida_hexrays.MMIDX_ARGS",
"url":19,
"doc":"stack: regular stack arguments"
},
{
"ref":"ida_hexrays.MMIDX_GLBHIGH",
"url":19,
"doc":"global memory: high part"
},
{
"ref":"ida_hexrays.mba_ranges_t",
"url":19,
"doc":"Proxy of C mba_ranges_t class. __init__(self, _pfn=None) -> mba_ranges_t @param _pfn: func_t  __init__(self, r) -> mba_ranges_t @param r: rangevec_t const &"
},
{
"ref":"ida_hexrays.mba_ranges_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.mba_ranges_t.pfn",
"url":19,
"doc":"function to decompile. if not null, then function mode."
},
{
"ref":"ida_hexrays.mba_ranges_t.ranges",
"url":19,
"doc":"snippet mode: ranges to decompile. function mode: list of outlined ranges"
},
{
"ref":"ida_hexrays.mba_ranges_t.start",
"url":19,
"doc":"start(self) -> ea_t",
"func":1
},
{
"ref":"ida_hexrays.mba_ranges_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_ranges_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.mba_ranges_t.is_snippet",
"url":19,
"doc":"is_snippet(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_ranges_t.is_fragmented",
"url":19,
"doc":"is_fragmented(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_range_iterator_t",
"url":19,
"doc":"Proxy of C mba_range_iterator_t class. __init__(self) -> mba_range_iterator_t"
},
{
"ref":"ida_hexrays.mba_range_iterator_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.mba_range_iterator_t.rii",
"url":19,
"doc":"rii"
},
{
"ref":"ida_hexrays.mba_range_iterator_t.fii",
"url":19,
"doc":"fii"
},
{
"ref":"ida_hexrays.mba_range_iterator_t.is_snippet",
"url":19,
"doc":"is_snippet(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_range_iterator_t.set",
"url":19,
"doc":"set(self, mbr) -> bool @param mbr: mba_ranges_t const &",
"func":1
},
{
"ref":"ida_hexrays.mba_range_iterator_t.next",
"url":19,
"doc":"next(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_range_iterator_t.chunk",
"url":19,
"doc":"chunk(self) -> range_t",
"func":1
},
{
"ref":"ida_hexrays.mba_t",
"url":19,
"doc":"Proxy of C mba_t class."
},
{
"ref":"ida_hexrays.mba_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.mba_t.precise_defeas",
"url":19,
"doc":"precise_defeas(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.optimized",
"url":19,
"doc":"optimized(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.short_display",
"url":19,
"doc":"short_display(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.show_reduction",
"url":19,
"doc":"show_reduction(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.graph_insns",
"url":19,
"doc":"graph_insns(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.loaded_gdl",
"url":19,
"doc":"loaded_gdl(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.should_beautify",
"url":19,
"doc":"should_beautify(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.rtype_refined",
"url":19,
"doc":"rtype_refined(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.may_refine_rettype",
"url":19,
"doc":"may_refine_rettype(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.use_wingraph32",
"url":19,
"doc":"use_wingraph32(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.display_numaddrs",
"url":19,
"doc":"display_numaddrs(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.display_valnums",
"url":19,
"doc":"display_valnums(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.is_pattern",
"url":19,
"doc":"is_pattern(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.is_thunk",
"url":19,
"doc":"is_thunk(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.saverest_done",
"url":19,
"doc":"saverest_done(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.callinfo_built",
"url":19,
"doc":"callinfo_built(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.really_alloc",
"url":19,
"doc":"really_alloc(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.lvars_allocated",
"url":19,
"doc":"lvars_allocated(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.chain_varnums_ok",
"url":19,
"doc":"chain_varnums_ok(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.returns_fpval",
"url":19,
"doc":"returns_fpval(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.has_passregs",
"url":19,
"doc":"has_passregs(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.generated_asserts",
"url":19,
"doc":"generated_asserts(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.propagated_asserts",
"url":19,
"doc":"propagated_asserts(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.deleted_pairs",
"url":19,
"doc":"deleted_pairs(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.common_stkvars_stkargs",
"url":19,
"doc":"common_stkvars_stkargs(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.lvar_names_ok",
"url":19,
"doc":"lvar_names_ok(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.lvars_renamed",
"url":19,
"doc":"lvars_renamed(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.has_over_chains",
"url":19,
"doc":"has_over_chains(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.valranges_done",
"url":19,
"doc":"valranges_done(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.argidx_ok",
"url":19,
"doc":"argidx_ok(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.argidx_sorted",
"url":19,
"doc":"argidx_sorted(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.code16_bit_removed",
"url":19,
"doc":"code16_bit_removed(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.has_stack_retval",
"url":19,
"doc":"has_stack_retval(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.has_outlines",
"url":19,
"doc":"has_outlines(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.is_ctr",
"url":19,
"doc":"is_ctr(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.is_dtr",
"url":19,
"doc":"is_dtr(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.is_cdtr",
"url":19,
"doc":"is_cdtr(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.prop_complex",
"url":19,
"doc":"prop_complex(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.get_mba_flags",
"url":19,
"doc":"get_mba_flags(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.mba_t.get_mba_flags2",
"url":19,
"doc":"get_mba_flags2(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.mba_t.set_mba_flags",
"url":19,
"doc":"set_mba_flags(self, f) @param f: int",
"func":1
},
{
"ref":"ida_hexrays.mba_t.clr_mba_flags",
"url":19,
"doc":"clr_mba_flags(self, f) @param f: int",
"func":1
},
{
"ref":"ida_hexrays.mba_t.set_mba_flags2",
"url":19,
"doc":"set_mba_flags2(self, f) @param f: int",
"func":1
},
{
"ref":"ida_hexrays.mba_t.clr_mba_flags2",
"url":19,
"doc":"clr_mba_flags2(self, f) @param f: int",
"func":1
},
{
"ref":"ida_hexrays.mba_t.clr_cdtr",
"url":19,
"doc":"clr_cdtr(self)",
"func":1
},
{
"ref":"ida_hexrays.mba_t.calc_shins_flags",
"url":19,
"doc":"calc_shins_flags(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.mba_t.stkoff_vd2ida",
"url":19,
"doc":"stkoff_vd2ida(self, off) -> sval_t @param off: sval_t",
"func":1
},
{
"ref":"ida_hexrays.mba_t.stkoff_ida2vd",
"url":19,
"doc":"stkoff_ida2vd(self, off) -> sval_t @param off: sval_t",
"func":1
},
{
"ref":"ida_hexrays.mba_t.argbase",
"url":19,
"doc":"argbase(self) -> sval_t",
"func":1
},
{
"ref":"ida_hexrays.mba_t.idaloc2vd",
"url":19,
"doc":"idaloc2vd(self, loc, width) -> vdloc_t @param loc: argloc_t const & @param width: int",
"func":1
},
{
"ref":"ida_hexrays.mba_t.vd2idaloc",
"url":19,
"doc":"vd2idaloc(self, loc, width, spd) -> argloc_t @param loc: vdloc_t const & @param width: int @param spd: sval_t vd2idaloc(self, loc, width) -> argloc_t @param loc: vdloc_t const & @param width: int",
"func":1
},
{
"ref":"ida_hexrays.mba_t.is_stkarg",
"url":19,
"doc":"is_stkarg(self, v) -> bool @param v: lvar_t const &",
"func":1
},
{
"ref":"ida_hexrays.mba_t.get_ida_argloc",
"url":19,
"doc":"get_ida_argloc(self, v) -> argloc_t @param v: lvar_t const &",
"func":1
},
{
"ref":"ida_hexrays.mba_t.mbr",
"url":19,
"doc":"mbr"
},
{
"ref":"ida_hexrays.mba_t.entry_ea",
"url":19,
"doc":"entry_ea"
},
{
"ref":"ida_hexrays.mba_t.last_prolog_ea",
"url":19,
"doc":"last_prolog_ea"
},
{
"ref":"ida_hexrays.mba_t.first_epilog_ea",
"url":19,
"doc":"first_epilog_ea"
},
{
"ref":"ida_hexrays.mba_t.qty",
"url":19,
"doc":"number of basic blocks"
},
{
"ref":"ida_hexrays.mba_t.npurged",
"url":19,
"doc":"-1 - unknown"
},
{
"ref":"ida_hexrays.mba_t.cc",
"url":19,
"doc":"calling convention"
},
{
"ref":"ida_hexrays.mba_t.tmpstk_size",
"url":19,
"doc":"size of the temporary stack part (which dynamically changes with push/pops)"
},
{
"ref":"ida_hexrays.mba_t.frsize",
"url":19,
"doc":"size of local stkvars range in the stack frame"
},
{
"ref":"ida_hexrays.mba_t.frregs",
"url":19,
"doc":"size of saved registers range in the stack frame"
},
{
"ref":"ida_hexrays.mba_t.fpd",
"url":19,
"doc":"frame pointer delta"
},
{
"ref":"ida_hexrays.mba_t.pfn_flags",
"url":19,
"doc":"copy of func_t flags"
},
{
"ref":"ida_hexrays.mba_t.retsize",
"url":19,
"doc":"size of return address in the stack frame"
},
{
"ref":"ida_hexrays.mba_t.shadow_args",
"url":19,
"doc":"size of shadow argument area"
},
{
"ref":"ida_hexrays.mba_t.fullsize",
"url":19,
"doc":"Full stack size including incoming args."
},
{
"ref":"ida_hexrays.mba_t.stacksize",
"url":19,
"doc":"The maximal size of the function stack including bytes allocated for outgoing call arguments (up to retaddr)"
},
{
"ref":"ida_hexrays.mba_t.inargoff",
"url":19,
"doc":"offset of the first stack argument; after fix_scattered_movs() INARGOFF may be less than STACKSIZE"
},
{
"ref":"ida_hexrays.mba_t.minstkref",
"url":19,
"doc":"The lowest stack location whose address was taken."
},
{
"ref":"ida_hexrays.mba_t.minstkref_ea",
"url":19,
"doc":"address with lowest minstkref (for debugging)"
},
{
"ref":"ida_hexrays.mba_t.minargref",
"url":19,
"doc":"The lowest stack argument location whose address was taken This location and locations above it can be aliased It controls locations >= inargoff-shadow_args"
},
{
"ref":"ida_hexrays.mba_t.spd_adjust",
"url":19,
"doc":"If sp>0, the max positive sp value."
},
{
"ref":"ida_hexrays.mba_t.gotoff_stkvars",
"url":19,
"doc":"stkvars that hold .got offsets. considered to be unaliasable"
},
{
"ref":"ida_hexrays.mba_t.restricted_memory",
"url":19,
"doc":"restricted_memory"
},
{
"ref":"ida_hexrays.mba_t.aliased_memory",
"url":19,
"doc":"aliased_memory+restricted_memory=ALLMEM"
},
{
"ref":"ida_hexrays.mba_t.nodel_memory",
"url":19,
"doc":"global dead elimination may not delete references to this area"
},
{
"ref":"ida_hexrays.mba_t.consumed_argregs",
"url":19,
"doc":"registers converted into stack arguments, should not be used as arguments"
},
{
"ref":"ida_hexrays.mba_t.maturity",
"url":19,
"doc":"current maturity level"
},
{
"ref":"ida_hexrays.mba_t.reqmat",
"url":19,
"doc":"required maturity level"
},
{
"ref":"ida_hexrays.mba_t.final_type",
"url":19,
"doc":"is the function type final? (specified by the user)"
},
{
"ref":"ida_hexrays.mba_t.idb_type",
"url":19,
"doc":"function type as retrieved from the database"
},
{
"ref":"ida_hexrays.mba_t.idb_spoiled",
"url":19,
"doc":"MBA_SPLINFO  final_type: info in ida format."
},
{
"ref":"ida_hexrays.mba_t.spoiled_list",
"url":19,
"doc":"MBA_SPLINFO  !final_type: info in vd format."
},
{
"ref":"ida_hexrays.mba_t.fti_flags",
"url":19,
"doc":"FTI_ . constants for the current function."
},
{
"ref":"ida_hexrays.mba_t.label",
"url":19,
"doc":"name of the function or pattern (colored)"
},
{
"ref":"ida_hexrays.mba_t.vars",
"url":19,
"doc":"local variables"
},
{
"ref":"ida_hexrays.mba_t.argidx",
"url":19,
"doc":"input arguments (indexes into 'vars')"
},
{
"ref":"ida_hexrays.mba_t.retvaridx",
"url":19,
"doc":"index of variable holding the return value -1 means none"
},
{
"ref":"ida_hexrays.mba_t.error_ea",
"url":19,
"doc":"during microcode generation holds ins.ea"
},
{
"ref":"ida_hexrays.mba_t.error_strarg",
"url":19,
"doc":"error_strarg"
},
{
"ref":"ida_hexrays.mba_t.blocks",
"url":19,
"doc":"double linked list of blocks"
},
{
"ref":"ida_hexrays.mba_t.natural",
"url":19,
"doc":"natural order of blocks"
},
{
"ref":"ida_hexrays.mba_t.std_ivls",
"url":19,
"doc":"we treat memory as consisting of 6 parts see memreg_index_t"
},
{
"ref":"ida_hexrays.mba_t.notes",
"url":19,
"doc":"notes"
},
{
"ref":"ida_hexrays.mba_t.occurred_warns",
"url":19,
"doc":"occurred_warns"
},
{
"ref":"ida_hexrays.mba_t.write_to_const_detected",
"url":19,
"doc":"write_to_const_detected(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.bad_call_sp_detected",
"url":19,
"doc":"bad_call_sp_detected(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.regargs_is_not_aligned",
"url":19,
"doc":"regargs_is_not_aligned(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.has_bad_sp",
"url":19,
"doc":"has_bad_sp(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.term",
"url":19,
"doc":"term(self)",
"func":1
},
{
"ref":"ida_hexrays.mba_t.get_curfunc",
"url":19,
"doc":"get_curfunc(self) -> func_t  ",
"func":1
},
{
"ref":"ida_hexrays.mba_t.use_frame",
"url":19,
"doc":"use_frame(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.is_snippet",
"url":19,
"doc":"is_snippet(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.set_maturity",
"url":19,
"doc":"set_maturity(self, mat) -> bool Set maturity level. @param mat: (C : mba_maturity_t) new maturity level @return: true if it is time to stop analysis Plugins may use this function to skip some parts of the analysis. The maturity level cannot be decreased.",
"func":1
},
{
"ref":"ida_hexrays.mba_t.optimize_local",
"url":19,
"doc":"optimize_local(self, locopt_bits) -> int Optimize each basic block locally @param locopt_bits: (C : int) combination of Bits for optimize_local() bits @return: number of changes. 0 means nothing changed This function is called by the decompiler, usually there is no need to call it explicitly.",
"func":1
},
{
"ref":"ida_hexrays.mba_t.build_graph",
"url":19,
"doc":"build_graph(self) -> merror_t Build control flow graph. This function may be called only once. It calculates the type of each basic block and the adjacency list. optimize_local() calls this function if necessary. You need to call this function only before MMAT_LOCOPT. @return: error code",
"func":1
},
{
"ref":"ida_hexrays.mba_t.get_graph",
"url":19,
"doc":"get_graph(self) -> mbl_graph_t Get control graph. Call build_graph() if you need the graph before MMAT_LOCOPT.",
"func":1
},
{
"ref":"ida_hexrays.mba_t.analyze_calls",
"url":19,
"doc":"analyze_calls(self, acflags) -> int Analyze calls and determine calling conventions. @param acflags: (C : int) permitted actions that are necessary for successful detection of calling conventions. See Bits for analyze_calls() @return: number of calls. -1 means error.",
"func":1
},
{
"ref":"ida_hexrays.mba_t.optimize_global",
"url":19,
"doc":"optimize_global(self) -> merror_t Optimize microcode globally. This function applies various optimization methods until we reach the fixed point. After that it preallocates lvars unless reqmat forbids it. @return: error code",
"func":1
},
{
"ref":"ida_hexrays.mba_t.alloc_lvars",
"url":19,
"doc":"alloc_lvars(self) Allocate local variables. Must be called only immediately after optimize_global(), with no modifications to the microcode. Converts registers, stack variables, and similar operands into mop_l. This call will not fail because all necessary checks were performed in optimize_global(). After this call the microcode reaches its final state.",
"func":1
},
{
"ref":"ida_hexrays.mba_t.dump",
"url":19,
"doc":"dump(self) Dump microcode to a file. The file will be created in the directory pointed by IDA_DUMPDIR envvar. Dump will be created only if IDA is run under debugger.",
"func":1
},
{
"ref":"ida_hexrays.mba_t.dump_mba",
"url":19,
"doc":"dump_mba(self, _verify, title) @param _verify: bool @param title: char const  ",
"func":1
},
{
"ref":"ida_hexrays.mba_t.verify",
"url":19,
"doc":"verify(self, always) Verify microcode consistency. @param always: (C : bool) if false, the check will be performed only if ida runs under debugger If any inconsistency is discovered, an internal error will be generated. We strongly recommend you to call this function before returing control to the decompiler from your callbacks, in the case if you modified the microcode. If the microcode is inconsistent, this function will generate an internal error. We provide the source code of this function in the plugins/hexrays_sdk/verifier directory for your reference.",
"func":1
},
{
"ref":"ida_hexrays.mba_t.mark_chains_dirty",
"url":19,
"doc":"mark_chains_dirty(self) Mark the microcode use-def chains dirty. Call this function is any inter-block data dependencies got changed because of your modifications to the microcode. Failing to do so may cause an internal error.",
"func":1
},
{
"ref":"ida_hexrays.mba_t.get_mblock",
"url":19,
"doc":"get_mblock(self, n) -> mblock_t @param n: uint",
"func":1
},
{
"ref":"ida_hexrays.mba_t.insert_block",
"url":19,
"doc":"insert_block(self, bblk) -> mblock_t Insert a block in the middle of the mbl array. The very first block of microcode must be empty, it is the entry block. The very last block of microcode must be BLT_STOP, it is the exit block. Therefore inserting a new block before the entry point or after the exit block is not a good idea. @param bblk: (C : int) the new block will be inserted before BBLK @return: ptr to the new block",
"func":1
},
{
"ref":"ida_hexrays.mba_t.split_block",
"url":19,
"doc":"split_block(self, blk, start_insn) -> mblock_t Split a block: insert a new one after the block, move some instructions to new block @param blk: (C : mblock_t  ) block to be split @param start_insn: (C : minsn_t  ) all instructions to be moved to new block: starting with this one up to the end @return: ptr to the new block",
"func":1
},
{
"ref":"ida_hexrays.mba_t.remove_block",
"url":19,
"doc":"remove_block(self, blk) -> bool Delete a block. @param blk: (C : mblock_t  ) block to delete @return: true if at least one of the other blocks became empty or unreachable",
"func":1
},
{
"ref":"ida_hexrays.mba_t.remove_blocks",
"url":19,
"doc":"remove_blocks(self, start_blk, end_blk) -> bool @param start_blk: int @param end_blk: int",
"func":1
},
{
"ref":"ida_hexrays.mba_t.copy_block",
"url":19,
"doc":"copy_block(self, blk, new_serial, cpblk_flags=3) -> mblock_t Make a copy of a block. This function makes a simple copy of the block. It does not fix the predecessor and successor lists, they must be fixed if necessary. @param blk: (C : mblock_t  ) block to copy @param new_serial: (C : int) position of the copied block @param cpblk_flags: (C : int) combination of Batch decompilation bits . bits @return: pointer to the new copy",
"func":1
},
{
"ref":"ida_hexrays.mba_t.remove_empty_and_unreachable_blocks",
"url":19,
"doc":"remove_empty_and_unreachable_blocks(self) -> bool Delete all empty and unreachable blocks. Blocks marked with MBL_KEEP won't be deleted.",
"func":1
},
{
"ref":"ida_hexrays.mba_t.merge_blocks",
"url":19,
"doc":"merge_blocks(self) -> bool Merge blocks. This function merges blocks constituting linear flow. It calls remove_empty_and_unreachable_blocks() as well. @return: true if changed any blocks",
"func":1
},
{
"ref":"ida_hexrays.mba_t.for_all_ops",
"url":19,
"doc":"for_all_ops(self, mv) -> int Visit all operands of all instructions. @param mv: (C : mop_visitor_t &) operand visitor @return: non-zero value returned by mv.visit_mop() or zero",
"func":1
},
{
"ref":"ida_hexrays.mba_t.for_all_insns",
"url":19,
"doc":"for_all_insns(self, mv) -> int Visit all instructions. This function visits all instruction and subinstructions. @param mv: (C : minsn_visitor_t &) instruction visitor @return: non-zero value returned by mv.visit_mop() or zero",
"func":1
},
{
"ref":"ida_hexrays.mba_t.for_all_topinsns",
"url":19,
"doc":"for_all_topinsns(self, mv) -> int Visit all top level instructions. @param mv: (C : minsn_visitor_t &) instruction visitor @return: non-zero value returned by mv.visit_mop() or zero",
"func":1
},
{
"ref":"ida_hexrays.mba_t.find_mop",
"url":19,
"doc":"find_mop(self, ctx, ea, is_dest, list) -> mop_t Find an operand in the microcode. This function tries to find the operand that matches LIST. Any operand that overlaps with LIST is considered as a match. @param ctx: (C : op_parent_info_t  ) context information for the result @param ea: (C : ea_t) desired address of the operand. BADADDR means to accept any address. @param is_dest: (C : bool) search for destination operand? this argument may be ignored if the exact match could not be found @param list: (C : const mlist_t &) list of locations the correspond to the operand @return: pointer to the operand or nullptr.",
"func":1
},
{
"ref":"ida_hexrays.mba_t.create_helper_call",
"url":19,
"doc":"create_helper_call(self, ea, helper, rettype=None, callargs=None, out=None) -> minsn_t Create a call of a helper function. @param ea: (C : ea_t) The desired address of the instruction @param helper: (C : const char  ) The helper name @param rettype: (C : const tinfo_t  ) The return type (nullptr or empty type means 'void') @param callargs: (C : const mcallargs_t  ) The helper arguments (nullptr-no arguments) @param out: (C : const mop_t  ) The operand where the call result should be stored. If this argument is not nullptr, \"mov helper_call(), out\" will be generated. Otherwise \"call helper()\" will be generated. Note: the size of this operand must be equal to the RETTYPE size @return: pointer to the created instruction or nullptr if error",
"func":1
},
{
"ref":"ida_hexrays.mba_t.get_func_output_lists",
"url":19,
"doc":"get_func_output_lists(self, return_regs, spoiled, type, call_ea=BADADDR, tail_call=False) Prepare the lists of registers & memory that are defined/killed by a function @param return_regs: (C : mlist_t  ) defined regs to return (eax,edx) @param spoiled: (C : mlist_t  ) spoiled regs (flags,ecx,mem) @param type: (C : const tinfo_t &) the function type @param call_ea: (C : ea_t) the call insn address (if known) @param tail_call: (C : bool) is it the tail call?",
"func":1
},
{
"ref":"ida_hexrays.mba_t.arg",
"url":19,
"doc":"arg(self, n) -> lvar_t @param n: int",
"func":1
},
{
"ref":"ida_hexrays.mba_t.alloc_fict_ea",
"url":19,
"doc":"alloc_fict_ea(self, real_ea) -> ea_t Allocate a fictional address. This function can be used to allocate a new unique address for a new instruction, if re-using any existing address leads to conflicts. For example, if the last instruction of the function modifies R0 and falls through to the next function, it will be a tail call: LDM R0!, {R4,R7} end of the function start of another function In this case R0 generates two different lvars at the same address:  one modified by LDM  another that represents the return value from the tail call Another example: a third-party plugin makes a copy of an instruction. This may lead to the generation of two variables at the same address. Example 3: fictional addresses can be used for new instructions created while modifying the microcode. This function can be used to allocate a new unique address for a new instruction or a variable. The fictional address is selected from an unallocated address range. @param real_ea: (C : ea_t) real instruction address (BADADDR is ok too) @return: a unique fictional address",
"func":1
},
{
"ref":"ida_hexrays.mba_t.map_fict_ea",
"url":19,
"doc":"map_fict_ea(self, fict_ea) -> ea_t Resolve a fictional address. This function provides a reverse of the mapping made by alloc_fict_ea(). @param fict_ea: (C : ea_t) fictional definition address @return: the real instruction address",
"func":1
},
{
"ref":"ida_hexrays.mba_t.get_std_region",
"url":19,
"doc":"get_std_region(self, idx) -> ivl_t Get information about various memory regions. We map the stack frame to the global memory, to some unused range. @param idx: (C : memreg_index_t) enum memreg_index_t",
"func":1
},
{
"ref":"ida_hexrays.mba_t.get_lvars_region",
"url":19,
"doc":"get_lvars_region(self) -> ivl_t",
"func":1
},
{
"ref":"ida_hexrays.mba_t.get_shadow_region",
"url":19,
"doc":"get_shadow_region(self) -> ivl_t",
"func":1
},
{
"ref":"ida_hexrays.mba_t.get_args_region",
"url":19,
"doc":"get_args_region(self) -> ivl_t",
"func":1
},
{
"ref":"ida_hexrays.mba_t.get_stack_region",
"url":19,
"doc":"get_stack_region(self) -> ivl_t",
"func":1
},
{
"ref":"ida_hexrays.mba_t.serialize",
"url":19,
"doc":"serialize(self) Serialize mbl array into a sequence of bytes.",
"func":1
},
{
"ref":"ida_hexrays.mba_t.deserialize",
"url":19,
"doc":"deserialize(bytes) -> mba_t Deserialize a byte sequence into mbl array. @param bytes: (C : const uchar  ) pointer to the beginning of the byte sequence. @return: new mbl array",
"func":1
},
{
"ref":"ida_hexrays.mba_t.save_snapshot",
"url":19,
"doc":"save_snapshot(self, description) Create and save microcode snapshot. @param description: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_hexrays.mba_t.alloc_kreg",
"url":19,
"doc":"alloc_kreg(self, size, check_size=True) -> mreg_t Allocate a kernel register. @param size: (C : size_t) size of the register in bytes @param check_size: (C : bool) if true, only the sizes that correspond to a size of a basic type will be accepted. @return: allocated register. mr_none means failure.",
"func":1
},
{
"ref":"ida_hexrays.mba_t.free_kreg",
"url":19,
"doc":"free_kreg(self, reg, size) Free a kernel register. If wrong arguments are passed, this function will generate an internal error. @param reg: (C : mreg_t) a previously allocated kernel register @param size: (C : size_t) size of the register in bytes",
"func":1
},
{
"ref":"ida_hexrays.mba_t.inline_func",
"url":19,
"doc":"inline_func(self, cdg, blknum, ranges, decomp_flags=0, inline_flags=0) -> merror_t Inline a range. Currently only functions are supported, not arbitrary ranges. This function may be called only during the initial microcode generation phase. @param cdg: (C : codegen_t &) the codegenerator object @param blknum: (C : int) the block contaning the call/jump instruction to inline @param ranges: (C : mba_ranges_t &) the set of ranges to inline @param decomp_flags: (C : int) combination of decompile() flags bits @param inline_flags: (C : int) combination of inline_func() flags bits @return: error code",
"func":1
},
{
"ref":"ida_hexrays.mba_t.locate_stkpnt",
"url":19,
"doc":"locate_stkpnt(self, ea) -> stkpnt_t const  @param ea: ea_t",
"func":1
},
{
"ref":"ida_hexrays.mba_t.set_lvar_name",
"url":19,
"doc":"set_lvar_name(self, v, name, flagbits) -> bool @param v: lvar_t & @param name: char const  @param flagbits: int",
"func":1
},
{
"ref":"ida_hexrays.mba_t.set_nice_lvar_name",
"url":19,
"doc":"set_nice_lvar_name(self, v, name) -> bool @param v: lvar_t & @param name: char const  ",
"func":1
},
{
"ref":"ida_hexrays.mba_t.set_user_lvar_name",
"url":19,
"doc":"set_user_lvar_name(self, v, name) -> bool @param v: lvar_t & @param name: char const  ",
"func":1
},
{
"ref":"ida_hexrays.mba_t.idb_node",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.MBA_PRCDEFS",
"url":19,
"doc":"use precise defeas for chain-allocated lvars"
},
{
"ref":"ida_hexrays.MBA_NOFUNC",
"url":19,
"doc":"function is not present, addresses might be wrong"
},
{
"ref":"ida_hexrays.MBA_PATTERN",
"url":19,
"doc":"microcode pattern, callinfo is present"
},
{
"ref":"ida_hexrays.MBA_LOADED",
"url":19,
"doc":"loaded gdl, no instructions (debugging)"
},
{
"ref":"ida_hexrays.MBA_RETFP",
"url":19,
"doc":"function returns floating point value"
},
{
"ref":"ida_hexrays.MBA_SPLINFO",
"url":19,
"doc":"(final_type ? idb_spoiled : spoiled_regs) is valid"
},
{
"ref":"ida_hexrays.MBA_PASSREGS",
"url":19,
"doc":"has mcallinfo_t pass_regs"
},
{
"ref":"ida_hexrays.MBA_THUNK",
"url":19,
"doc":"thunk function"
},
{
"ref":"ida_hexrays.MBA_CMNSTK",
"url":19,
"doc":"stkvars+stkargs should be considered as one area"
},
{
"ref":"ida_hexrays.MBA_PREOPT",
"url":19,
"doc":"preoptimization stage complete"
},
{
"ref":"ida_hexrays.MBA_CMBBLK",
"url":19,
"doc":"request to combine blocks"
},
{
"ref":"ida_hexrays.MBA_ASRTOK",
"url":19,
"doc":"assertions have been generated"
},
{
"ref":"ida_hexrays.MBA_CALLS",
"url":19,
"doc":"callinfo has been built"
},
{
"ref":"ida_hexrays.MBA_ASRPROP",
"url":19,
"doc":"assertion have been propagated"
},
{
"ref":"ida_hexrays.MBA_SAVRST",
"url":19,
"doc":"save-restore analysis has been performed"
},
{
"ref":"ida_hexrays.MBA_RETREF",
"url":19,
"doc":"return type has been refined"
},
{
"ref":"ida_hexrays.MBA_GLBOPT",
"url":19,
"doc":"microcode has been optimized globally"
},
{
"ref":"ida_hexrays.MBA_LVARS0",
"url":19,
"doc":"lvar pre-allocation has been performed"
},
{
"ref":"ida_hexrays.MBA_LVARS1",
"url":19,
"doc":"lvar real allocation has been performed"
},
{
"ref":"ida_hexrays.MBA_DELPAIRS",
"url":19,
"doc":"pairs have been deleted once"
},
{
"ref":"ida_hexrays.MBA_CHVARS",
"url":19,
"doc":"can verify chain varnums"
},
{
"ref":"ida_hexrays.MBA_SHORT",
"url":19,
"doc":"use short display"
},
{
"ref":"ida_hexrays.MBA_COLGDL",
"url":19,
"doc":"display graph after each reduction"
},
{
"ref":"ida_hexrays.MBA_INSGDL",
"url":19,
"doc":"display instruction in graphs"
},
{
"ref":"ida_hexrays.MBA_NICE",
"url":19,
"doc":"apply transformations to c code"
},
{
"ref":"ida_hexrays.MBA_REFINE",
"url":19,
"doc":"may refine return value size"
},
{
"ref":"ida_hexrays.MBA_WINGR32",
"url":19,
"doc":"use wingraph32"
},
{
"ref":"ida_hexrays.MBA_NUMADDR",
"url":19,
"doc":"display definition addresses for numbers"
},
{
"ref":"ida_hexrays.MBA_VALNUM",
"url":19,
"doc":"display value numbers"
},
{
"ref":"ida_hexrays.MBA2_LVARNAMES_OK",
"url":19,
"doc":"may verify lvar_names?"
},
{
"ref":"ida_hexrays.MBA2_LVARS_RENAMED",
"url":19,
"doc":"accept empty names now?"
},
{
"ref":"ida_hexrays.MBA2_OVER_CHAINS",
"url":19,
"doc":"has overlapped chains?"
},
{
"ref":"ida_hexrays.MBA2_VALRNG_DONE",
"url":19,
"doc":"calculated valranges?"
},
{
"ref":"ida_hexrays.MBA2_IS_CTR",
"url":19,
"doc":"is constructor?"
},
{
"ref":"ida_hexrays.MBA2_IS_DTR",
"url":19,
"doc":"is destructor?"
},
{
"ref":"ida_hexrays.MBA2_ARGIDX_OK",
"url":19,
"doc":"may verify input argument list?"
},
{
"ref":"ida_hexrays.MBA2_NO_DUP_CALLS",
"url":19,
"doc":"forbid multiple calls with the same ea"
},
{
"ref":"ida_hexrays.MBA2_NO_DUP_LVARS",
"url":19,
"doc":"forbid multiple lvars with the same ea"
},
{
"ref":"ida_hexrays.MBA2_UNDEF_RETVAR",
"url":19,
"doc":"return value is undefined"
},
{
"ref":"ida_hexrays.MBA2_ARGIDX_SORTED",
"url":19,
"doc":"args finally sorted according to ABI (e.g. reverse stkarg order in Borland)"
},
{
"ref":"ida_hexrays.MBA2_CODE16_BIT",
"url":19,
"doc":"the code16 bit got removed"
},
{
"ref":"ida_hexrays.MBA2_STACK_RETVAL",
"url":19,
"doc":"the return value is on the stack"
},
{
"ref":"ida_hexrays.MBA2_HAS_OUTLINES",
"url":19,
"doc":"calls to outlined code have been inlined"
},
{
"ref":"ida_hexrays.MBA2_NO_FRAME",
"url":19,
"doc":"do not use function frame info (only snippet mode)"
},
{
"ref":"ida_hexrays.MBA2_PROP_COMPLEX",
"url":19,
"doc":"allow propagation of more complex variable definitions"
},
{
"ref":"ida_hexrays.MBA2_DONT_VERIFY",
"url":19,
"doc":"Do not verify microcode. This flag is recomended to be set only when debugging decompiler plugins"
},
{
"ref":"ida_hexrays.NALT_VD",
"url":19,
"doc":"this index is not used by ida"
},
{
"ref":"ida_hexrays.LOCOPT_ALL",
"url":19,
"doc":"redo optimization for all blocks. if this bit is not set, only dirty blocks will be optimized"
},
{
"ref":"ida_hexrays.LOCOPT_REFINE",
"url":19,
"doc":"refine return type, ok to fail"
},
{
"ref":"ida_hexrays.LOCOPT_REFINE2",
"url":19,
"doc":"refine return type, try harder"
},
{
"ref":"ida_hexrays.ACFL_LOCOPT",
"url":19,
"doc":"perform local propagation (requires ACFL_BLKOPT)"
},
{
"ref":"ida_hexrays.ACFL_BLKOPT",
"url":19,
"doc":"perform interblock transformations"
},
{
"ref":"ida_hexrays.ACFL_GLBPROP",
"url":19,
"doc":"perform global propagation"
},
{
"ref":"ida_hexrays.ACFL_GLBDEL",
"url":19,
"doc":"perform dead code eliminition"
},
{
"ref":"ida_hexrays.ACFL_GUESS",
"url":19,
"doc":"may guess calling conventions"
},
{
"ref":"ida_hexrays.CPBLK_FAST",
"url":19,
"doc":"do not update minbstkref and minbargref"
},
{
"ref":"ida_hexrays.CPBLK_MINREF",
"url":19,
"doc":"update minbstkref and minbargref"
},
{
"ref":"ida_hexrays.CPBLK_OPTJMP",
"url":19,
"doc":"del the jump insn at the end of the block if it becomes useless"
},
{
"ref":"ida_hexrays.INLINE_EXTFRAME",
"url":19,
"doc":"Inlined function has its own (external) frame."
},
{
"ref":"ida_hexrays.INLINE_DONTCOPY",
"url":19,
"doc":"Do not reuse old inlined copy even if it exists."
},
{
"ref":"ida_hexrays.chain_keeper_t",
"url":19,
"doc":"Proxy of C chain_keeper_t class. __init__(self, _gc) -> chain_keeper_t @param _gc: graph_chains_t  "
},
{
"ref":"ida_hexrays.chain_keeper_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.chain_keeper_t.front",
"url":19,
"doc":"front(self) -> block_chains_t",
"func":1
},
{
"ref":"ida_hexrays.chain_keeper_t.back",
"url":19,
"doc":"back(self) -> block_chains_t",
"func":1
},
{
"ref":"ida_hexrays.chain_keeper_t.for_all_chains",
"url":19,
"doc":"for_all_chains(self, cv, gca) -> int @param cv: chain_visitor_t & @param gca: int",
"func":1
},
{
"ref":"ida_hexrays.GC_REGS_AND_STKVARS",
"url":19,
"doc":"registers and stkvars (restricted memory only)"
},
{
"ref":"ida_hexrays.GC_ASR",
"url":19,
"doc":"all the above and assertions"
},
{
"ref":"ida_hexrays.GC_XDSU",
"url":19,
"doc":"only registers calculated with FULL_XDSU"
},
{
"ref":"ida_hexrays.GC_END",
"url":19,
"doc":"number of chain types"
},
{
"ref":"ida_hexrays.GC_DIRTY_ALL",
"url":19,
"doc":"bitmask to represent all chains"
},
{
"ref":"ida_hexrays.mbl_graph_t",
"url":19,
"doc":"Proxy of C mbl_graph_t class. __init__(self) -> gdl_graph_t @param self: PyObject  "
},
{
"ref":"ida_hexrays.mbl_graph_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.mbl_graph_t.is_ud_chain_dirty",
"url":19,
"doc":"is_ud_chain_dirty(self, gctype) -> bool Is the use-def chain of the specified kind dirty? @param gctype: (C : gctype_t) enum gctype_t",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.is_du_chain_dirty",
"url":19,
"doc":"is_du_chain_dirty(self, gctype) -> bool Is the def-use chain of the specified kind dirty? @param gctype: (C : gctype_t) enum gctype_t",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.get_chain_stamp",
"url":19,
"doc":"get_chain_stamp(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.get_ud",
"url":19,
"doc":"get_ud(self, gctype) -> graph_chains_t Get use-def chains. @param gctype: (C : gctype_t) enum gctype_t",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.get_du",
"url":19,
"doc":"get_du(self, gctype) -> graph_chains_t Get def-use chains. @param gctype: (C : gctype_t) enum gctype_t",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.is_redefined_globally",
"url":19,
"doc":"is_redefined_globally(self, list, b1, b2, m1, m2, maymust=MAY_ACCESS) -> bool Is LIST redefined in the graph? @param list: (C : const mlist_t &) mlist_t const & @param b1: (C : int) @param b2: (C : int) @param m1: (C : const minsn_t  ) minsn_t const  @param m2: (C : const minsn_t  ) minsn_t const  @param maymust: (C : maymust_t)",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.is_used_globally",
"url":19,
"doc":"is_used_globally(self, list, b1, b2, m1, m2, maymust=MAY_ACCESS) -> bool Is LIST used in the graph? @param list: (C : const mlist_t &) mlist_t const & @param b1: (C : int) @param b2: (C : int) @param m1: (C : const minsn_t  ) minsn_t const  @param m2: (C : const minsn_t  ) minsn_t const  @param maymust: (C : maymust_t)",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.get_mblock",
"url":19,
"doc":"get_mblock(self, n) -> mblock_t @param n: int",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.title",
"url":19,
"doc":"title"
},
{
"ref":"ida_hexrays.mbl_graph_t.colored_gdl_edges",
"url":19,
"doc":"colored_gdl_edges"
},
{
"ref":"ida_hexrays.mbl_graph_t.compute_dominators",
"url":19,
"doc":"compute_dominators(self, domin, post=False) @param domin: array_of_node_bitset_t & @param post: bool",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.compute_immediate_dominators",
"url":19,
"doc":"compute_immediate_dominators(self, domin, idomin, post=False) @param domin: array_of_node_bitset_t const & @param idomin: intvec_t & @param post: bool",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.depth_first_preorder",
"url":19,
"doc":"depth_first_preorder(self, pre) -> int @param pre: node_ordering_t  ",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.depth_first_postorder",
"url":19,
"doc":"depth_first_postorder(self, post) -> int @param post: node_ordering_t  ",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.begin",
"url":19,
"doc":"begin(self) -> simple_graph_t iterator",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.end",
"url":19,
"doc":"end(self) -> simple_graph_t iterator",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.front",
"url":19,
"doc":"front(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.inc",
"url":19,
"doc":"inc(self, p, n=1) @param p: simple_graph_t iterator & @param n: int",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.goup",
"url":19,
"doc":"goup(self, node) -> int @param node: int",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.get_node_label",
"url":15,
"doc":"get_node_label(self, n) -> char  @param n: int",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.print_graph_attributes",
"url":15,
"doc":"print_graph_attributes(self, fp) @param fp: FILE  ",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.print_node",
"url":15,
"doc":"print_node(self, fp, n) -> bool @param fp: FILE  @param n: int",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.print_edge",
"url":15,
"doc":"print_edge(self, fp, i, j) -> bool @param fp: FILE  @param i: int @param j: int",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.print_node_attributes",
"url":15,
"doc":"print_node_attributes(self, fp, n) @param fp: FILE  @param n: int",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.size",
"url":15,
"doc":"size(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.node_qty",
"url":15,
"doc":"node_qty(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.exists",
"url":15,
"doc":"exists(self, node) -> bool @param node: int",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.entry",
"url":15,
"doc":"entry(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.exit",
"url":15,
"doc":"exit(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.nsucc",
"url":15,
"doc":"nsucc(self, node) -> int @param node: int",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.npred",
"url":15,
"doc":"npred(self, node) -> int @param node: int",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.succ",
"url":15,
"doc":"succ(self, node, i) -> int @param node: int @param i: int",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.pred",
"url":15,
"doc":"pred(self, node, i) -> int @param node: int @param i: int",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.empty",
"url":15,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.get_node_color",
"url":15,
"doc":"get_node_color(self, n) -> bgcolor_t @param n: int",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.get_edge_color",
"url":15,
"doc":"get_edge_color(self, i, j) -> bgcolor_t @param i: int @param j: int",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.nedge",
"url":15,
"doc":"nedge(self, node, ispred) -> size_t @param node: int @param ispred: bool",
"func":1
},
{
"ref":"ida_hexrays.mbl_graph_t.edge",
"url":15,
"doc":"edge(self, node, i, ispred) -> int @param node: int @param i: int @param ispred: bool",
"func":1
},
{
"ref":"ida_hexrays.cdg_insn_iterator_t",
"url":19,
"doc":"Proxy of C cdg_insn_iterator_t class. __init__(self, mba_) -> cdg_insn_iterator_t @param mba_: mba_t const  __init__(self, r) -> cdg_insn_iterator_t @param r: cdg_insn_iterator_t const &"
},
{
"ref":"ida_hexrays.cdg_insn_iterator_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.cdg_insn_iterator_t.mba",
"url":19,
"doc":"mba"
},
{
"ref":"ida_hexrays.cdg_insn_iterator_t.ea",
"url":19,
"doc":"ea"
},
{
"ref":"ida_hexrays.cdg_insn_iterator_t.end",
"url":19,
"doc":"end"
},
{
"ref":"ida_hexrays.cdg_insn_iterator_t.dslot",
"url":19,
"doc":"dslot"
},
{
"ref":"ida_hexrays.cdg_insn_iterator_t.dslot_insn",
"url":19,
"doc":"dslot_insn"
},
{
"ref":"ida_hexrays.cdg_insn_iterator_t.severed_branch",
"url":19,
"doc":"severed_branch"
},
{
"ref":"ida_hexrays.cdg_insn_iterator_t.is_likely_dslot",
"url":19,
"doc":"is_likely_dslot"
},
{
"ref":"ida_hexrays.cdg_insn_iterator_t.ok",
"url":19,
"doc":"ok(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.cdg_insn_iterator_t.has_dslot",
"url":19,
"doc":"has_dslot(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.cdg_insn_iterator_t.dslot_with_xrefs",
"url":19,
"doc":"dslot_with_xrefs(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.cdg_insn_iterator_t.is_severed_dslot",
"url":19,
"doc":"is_severed_dslot(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.cdg_insn_iterator_t.start",
"url":19,
"doc":"start(self, rng) @param rng: range_t const &",
"func":1
},
{
"ref":"ida_hexrays.cdg_insn_iterator_t.next",
"url":19,
"doc":"next(self, ins) -> merror_t @param ins: insn_t  ",
"func":1
},
{
"ref":"ida_hexrays.codegen_t",
"url":19,
"doc":"Proxy of C codegen_t class."
},
{
"ref":"ida_hexrays.codegen_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.codegen_t.mba",
"url":19,
"doc":"mba"
},
{
"ref":"ida_hexrays.codegen_t.mb",
"url":19,
"doc":"mb"
},
{
"ref":"ida_hexrays.codegen_t.insn",
"url":19,
"doc":"insn"
},
{
"ref":"ida_hexrays.codegen_t.ignore_micro",
"url":19,
"doc":"ignore_micro"
},
{
"ref":"ida_hexrays.codegen_t.ii",
"url":19,
"doc":"ii"
},
{
"ref":"ida_hexrays.codegen_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.codegen_t.analyze_prolog",
"url":19,
"doc":"analyze_prolog(self, fc, reachable) -> merror_t Analyze prolog/epilog of the function to decompile. If prolog is found, allocate and fill 'mba->pi' structure. @param fc: (C : const class qflow_chart_t &) flow chart @param reachable: (C : const class bitset_t &) bitmap of reachable blocks @return: error code",
"func":1
},
{
"ref":"ida_hexrays.codegen_t.gen_micro",
"url":19,
"doc":"gen_micro(self) -> merror_t Generate microcode for one instruction. The instruction is in INSN @return: MERR_OK - all ok MERR_BLOCK - all ok, need to switch to new block MERR_BADBLK - delete current block and continue other error codes are fatal",
"func":1
},
{
"ref":"ida_hexrays.codegen_t.load_operand",
"url":19,
"doc":"load_operand(self, opnum, flags=0) -> mreg_t Generate microcode to load one operand. @param opnum: (C : int) number of INSN operand @param flags: (C : int) reserved for future use @return: register containing the operand.",
"func":1
},
{
"ref":"ida_hexrays.codegen_t.microgen_completed",
"url":19,
"doc":"microgen_completed(self) This method is called when the microcode generation is done.",
"func":1
},
{
"ref":"ida_hexrays.codegen_t.prepare_gen_micro",
"url":19,
"doc":"prepare_gen_micro(self) -> merror_t Setup internal data to handle new instruction. This method should be called before calling gen_micro(). Usually gen_micro() is called by the decompiler. You have to call this function explicitly only if you yourself call gen_micro(). The instruction is in INSN @return: MERR_OK - all ok other error codes are fatal",
"func":1
},
{
"ref":"ida_hexrays.codegen_t.load_effective_address",
"url":19,
"doc":"load_effective_address(self, n, flags=0) -> mreg_t Generate microcode to calculate the address of a memory operand. @param n: (C : int) - number of INSN operand @param flags: (C : int) - reserved for future use @return: register containing the operand address. mr_none - failed (not a memory operand)",
"func":1
},
{
"ref":"ida_hexrays.codegen_t.store_operand",
"url":19,
"doc":"store_operand(self, n, mop, flags=0, outins=None) -> bool Generate microcode to store an operand. In case of success an arbitrary number of instructions can be generated (and even no instruction if the source and target are the same) @param n: (C : int) - number of target INSN operand @param mop: (C : const mop_t &) - operand to be stored @param flags: (C : int) - reserved for future use @param outins: (C : minsn_t  ) - (OUT) the last generated instruction @return: success",
"func":1
},
{
"ref":"ida_hexrays.codegen_t.emit_micro_mvm",
"url":19,
"doc":"emit_micro_mvm(self, code, dtype, l, r, d, offsize) -> minsn_t Emit one microinstruction. This variant takes a data type not a size. @param code: (C : mcode_t) enum mcode_t @param dtype: (C : op_dtype_t) @param l: (C : uval_t) @param r: (C : uval_t) @param d: (C : uval_t) @param offsize: (C : int)",
"func":1
},
{
"ref":"ida_hexrays.codegen_t.emit",
"url":19,
"doc":"emit(self, code, width, l, r, d, offsize) -> minsn_t Emit one microinstruction. This variant accepts pointers to operands. It is more difficult to use but permits to create virtually any instruction. Operands may be nullptr when it makes sense. @param code: (C : mcode_t) enum mcode_t @param width: int @param l: (C : const mop_t  ) uval_t @param r: (C : const mop_t  ) uval_t @param d: (C : const mop_t  ) uval_t @param offsize: int emit(self, code, l, r, d) -> minsn_t @param code: enum mcode_t @param l: mop_t const  @param r: mop_t const  @param d: mop_t const  ",
"func":1
},
{
"ref":"ida_hexrays.change_hexrays_config",
"url":19,
"doc":"change_hexrays_config(directive) -> bool Parse DIRECTIVE and update the current configuration variables. For the syntax see hexrays.cfg @param directive: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_hexrays.get_hexrays_version",
"url":19,
"doc":"get_hexrays_version() -> char const  Get decompiler version. The returned string is of the form  . . . @return: pointer to version string. For example: \"2.0.0.140605\"",
"func":1
},
{
"ref":"ida_hexrays.OPF_REUSE",
"url":19,
"doc":"reuse existing window"
},
{
"ref":"ida_hexrays.OPF_NEW_WINDOW",
"url":19,
"doc":"open new window"
},
{
"ref":"ida_hexrays.OPF_REUSE_ACTIVE",
"url":19,
"doc":"reuse existing window, only if the currently active widget is a pseudocode view"
},
{
"ref":"ida_hexrays.OPF_NO_WAIT",
"url":19,
"doc":"do not display waitbox if decompilation happens"
},
{
"ref":"ida_hexrays.open_pseudocode",
"url":19,
"doc":"open_pseudocode(ea, flags) -> vdui_t Open pseudocode window. The specified function is decompiled and the pseudocode window is opened. @param ea: (C : ea_t) function to decompile @param flags: (C : int) a combination of OPF_ flags @return: false if failed",
"func":1
},
{
"ref":"ida_hexrays.close_pseudocode",
"url":19,
"doc":"close_pseudocode(f) -> bool Close pseudocode window. @param f: (C : TWidget  ) pointer to window @return: false if failed",
"func":1
},
{
"ref":"ida_hexrays.VDRUN_NEWFILE",
"url":19,
"doc":"Create a new file or overwrite existing file."
},
{
"ref":"ida_hexrays.VDRUN_APPEND",
"url":19,
"doc":"Create a new file or append to existing file."
},
{
"ref":"ida_hexrays.VDRUN_ONLYNEW",
"url":19,
"doc":"Fail if output file already exists."
},
{
"ref":"ida_hexrays.VDRUN_SILENT",
"url":19,
"doc":"Silent decompilation."
},
{
"ref":"ida_hexrays.VDRUN_SENDIDB",
"url":19,
"doc":"Send problematic databases to hex-rays.com."
},
{
"ref":"ida_hexrays.VDRUN_MAYSTOP",
"url":19,
"doc":"The user can cancel decompilation."
},
{
"ref":"ida_hexrays.VDRUN_CMDLINE",
"url":19,
"doc":"Called from ida's command line."
},
{
"ref":"ida_hexrays.VDRUN_STATS",
"url":19,
"doc":"Print statistics into vd_stats.txt."
},
{
"ref":"ida_hexrays.VDRUN_LUMINA",
"url":19,
"doc":"Use lumina server."
},
{
"ref":"ida_hexrays.decompile_many",
"url":19,
"doc":"decompile_many(outfile, funcaddrs, flags) -> bool Batch decompilation. Decompile all or the specified functions @param outfile: (C : const char  ) name of the output file @param funcaddrs: (C : const eavec_t  ) list of functions to decompile. If nullptr or empty, then decompile all nonlib functions @param flags: (C : int) Batch decompilation bits @return: true if no internal error occurred and the user has not cancelled decompilation",
"func":1
},
{
"ref":"ida_hexrays.hexrays_failure_t",
"url":19,
"doc":"Proxy of C hexrays_failure_t class. __init__(self) -> hexrays_failure_t __init__(self, c, ea, buf=None) -> hexrays_failure_t @param c: enum merror_t @param ea: ea_t @param buf: char const  __init__(self, c, ea, buf) -> hexrays_failure_t @param c: enum merror_t @param ea: ea_t @param buf: qstring const &"
},
{
"ref":"ida_hexrays.hexrays_failure_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.hexrays_failure_t.code",
"url":19,
"doc":"Microcode error codes"
},
{
"ref":"ida_hexrays.hexrays_failure_t.errea",
"url":19,
"doc":"associated address"
},
{
"ref":"ida_hexrays.hexrays_failure_t.str",
"url":19,
"doc":"string information"
},
{
"ref":"ida_hexrays.hexrays_failure_t.desc",
"url":19,
"doc":"desc(self) -> qstring",
"func":1
},
{
"ref":"ida_hexrays.vd_failure_t",
"url":19,
"doc":"Proxy of C vd_failure_t class. __init__(self) -> vd_failure_t __init__(self, code, ea, buf=None) -> vd_failure_t @param code: enum merror_t @param ea: ea_t @param buf: char const  __init__(self, code, ea, buf) -> vd_failure_t @param code: enum merror_t @param ea: ea_t @param buf: qstring const & __init__(self, _hf) -> vd_failure_t @param _hf: hexrays_failure_t const &"
},
{
"ref":"ida_hexrays.vd_failure_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.vd_failure_t.hf",
"url":19,
"doc":"hf"
},
{
"ref":"ida_hexrays.vd_failure_t.desc",
"url":19,
"doc":"desc(self) -> qstring",
"func":1
},
{
"ref":"ida_hexrays.vd_interr_t",
"url":19,
"doc":"Proxy of C vd_interr_t class. __init__(self, ea, buf) -> vd_interr_t @param ea: ea_t @param buf: char const  "
},
{
"ref":"ida_hexrays.vd_interr_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.vd_interr_t.hf",
"url":19,
"doc":"hf"
},
{
"ref":"ida_hexrays.vd_interr_t.desc",
"url":19,
"doc":"desc(self) -> qstring",
"func":1
},
{
"ref":"ida_hexrays.send_database",
"url":19,
"doc":"send_database(err, silent) Send the database to Hex-Rays. This function sends the current database to the Hex-Rays server. The database is sent in the compressed form over an encrypted (SSL) connection. @param err: (C : const hexrays_failure_t &) failure description object. Empty hexrays_failure_t object can be used if error information is not available. @param silent: (C : bool) if false, a dialog box will be displayed before sending the database.",
"func":1
},
{
"ref":"ida_hexrays.gco_info_t",
"url":19,
"doc":"Proxy of C gco_info_t class. __init__(self) -> gco_info_t"
},
{
"ref":"ida_hexrays.gco_info_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.gco_info_t.name",
"url":19,
"doc":"register or stkvar name"
},
{
"ref":"ida_hexrays.gco_info_t.stkoff",
"url":19,
"doc":"if stkvar, stack offset"
},
{
"ref":"ida_hexrays.gco_info_t.regnum",
"url":19,
"doc":"if register, the register id"
},
{
"ref":"ida_hexrays.gco_info_t.size",
"url":19,
"doc":"operand size"
},
{
"ref":"ida_hexrays.gco_info_t.flags",
"url":19,
"doc":"flags"
},
{
"ref":"ida_hexrays.gco_info_t.is_reg",
"url":19,
"doc":"is_reg(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.gco_info_t.is_use",
"url":19,
"doc":"is_use(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.gco_info_t.is_def",
"url":19,
"doc":"is_def(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.gco_info_t.append_to_list",
"url":19,
"doc":"append_to_list(self, list, mba) -> bool Append operand info to LIST. This function converts IDA register number or stack offset to a decompiler list. @param list: (C : mlist_t  ) list to append to @param mba: (C : const mba_t  ) microcode object",
"func":1
},
{
"ref":"ida_hexrays.gco_info_t.cvt_to_ivl",
"url":19,
"doc":"cvt_to_ivl(self) -> vivl_t Convert operand info to VIVL. The returned VIVL can be used, for example, in a call of get_valranges().",
"func":1
},
{
"ref":"ida_hexrays.GCO_STK",
"url":19,
"doc":"a stack variable"
},
{
"ref":"ida_hexrays.GCO_REG",
"url":19,
"doc":"is register? otherwise a stack variable"
},
{
"ref":"ida_hexrays.GCO_USE",
"url":19,
"doc":"is source operand?"
},
{
"ref":"ida_hexrays.GCO_DEF",
"url":19,
"doc":"is destination operand?"
},
{
"ref":"ida_hexrays.get_current_operand",
"url":19,
"doc":"get_current_operand(out) -> bool Get the instruction operand under the cursor. This function determines the operand that is under the cursor in the active disassembly listing. If the operand refers to a register or stack variable, it returns true. @param out: (C : gco_info_t  ) [out]: output buffer",
"func":1
},
{
"ref":"ida_hexrays.remitem",
"url":19,
"doc":"remitem(e) @param e: citem_t const  ",
"func":1
},
{
"ref":"ida_hexrays.cot_comma",
"url":19,
"doc":"x, y"
},
{
"ref":"ida_hexrays.cot_asg",
"url":19,
"doc":"x = y"
},
{
"ref":"ida_hexrays.cot_asgbor",
"url":19,
"doc":"x |= y"
},
{
"ref":"ida_hexrays.cot_asgxor",
"url":19,
"doc":"x ^= y"
},
{
"ref":"ida_hexrays.cot_asgband",
"url":19,
"doc":"x &= y"
},
{
"ref":"ida_hexrays.cot_asgadd",
"url":19,
"doc":"x += y"
},
{
"ref":"ida_hexrays.cot_asgsub",
"url":19,
"doc":"x -= y"
},
{
"ref":"ida_hexrays.cot_asgmul",
"url":19,
"doc":"x  = y"
},
{
"ref":"ida_hexrays.cot_asgsshr",
"url":19,
"doc":"x >>= y signed"
},
{
"ref":"ida_hexrays.cot_asgushr",
"url":19,
"doc":"x >>= y unsigned"
},
{
"ref":"ida_hexrays.cot_asgshl",
"url":19,
"doc":"x  = y"
},
{
"ref":"ida_hexrays.cot_asgsdiv",
"url":19,
"doc":"x /= y signed"
},
{
"ref":"ida_hexrays.cot_asgudiv",
"url":19,
"doc":"x /= y unsigned"
},
{
"ref":"ida_hexrays.cot_asgsmod",
"url":19,
"doc":"x %= y signed"
},
{
"ref":"ida_hexrays.cot_asgumod",
"url":19,
"doc":"x %= y unsigned"
},
{
"ref":"ida_hexrays.cot_tern",
"url":19,
"doc":"x ? y : z"
},
{
"ref":"ida_hexrays.cot_lor",
"url":19,
"doc":"x  y"
},
{
"ref":"ida_hexrays.cot_land",
"url":19,
"doc":"x  y"
},
{
"ref":"ida_hexrays.cot_bor",
"url":19,
"doc":"x | y"
},
{
"ref":"ida_hexrays.cot_xor",
"url":19,
"doc":"x ^ y"
},
{
"ref":"ida_hexrays.cot_band",
"url":19,
"doc":"x & y"
},
{
"ref":"ida_hexrays.cot_eq",
"url":19,
"doc":"x  y int or fpu (see EXFL_FPOP)"
},
{
"ref":"ida_hexrays.cot_ne",
"url":19,
"doc":"x != y int or fpu (see EXFL_FPOP)"
},
{
"ref":"ida_hexrays.cot_sge",
"url":19,
"doc":"x >= y signed or fpu (see EXFL_FPOP)"
},
{
"ref":"ida_hexrays.cot_uge",
"url":19,
"doc":"x >= y unsigned"
},
{
"ref":"ida_hexrays.cot_sle",
"url":19,
"doc":"x <= y signed or fpu (see EXFL_FPOP)"
},
{
"ref":"ida_hexrays.cot_ule",
"url":19,
"doc":"x <= y unsigned"
},
{
"ref":"ida_hexrays.cot_sgt",
"url":19,
"doc":"x > y signed or fpu (see EXFL_FPOP)"
},
{
"ref":"ida_hexrays.cot_ugt",
"url":19,
"doc":"x > y unsigned"
},
{
"ref":"ida_hexrays.cot_slt",
"url":19,
"doc":"x < y signed or fpu (see EXFL_FPOP)"
},
{
"ref":"ida_hexrays.cot_ult",
"url":19,
"doc":"x < y unsigned"
},
{
"ref":"ida_hexrays.cot_sshr",
"url":19,
"doc":"x >> y signed"
},
{
"ref":"ida_hexrays.cot_ushr",
"url":19,
"doc":"x >> y unsigned"
},
{
"ref":"ida_hexrays.cot_shl",
"url":19,
"doc":"x  y"
},
{
"ref":"ida_hexrays.cot_add",
"url":19,
"doc":"x + y"
},
{
"ref":"ida_hexrays.cot_sub",
"url":19,
"doc":"x - y"
},
{
"ref":"ida_hexrays.cot_mul",
"url":19,
"doc":"x  y"
},
{
"ref":"ida_hexrays.cot_sdiv",
"url":19,
"doc":"x / y signed"
},
{
"ref":"ida_hexrays.cot_udiv",
"url":19,
"doc":"x / y unsigned"
},
{
"ref":"ida_hexrays.cot_smod",
"url":19,
"doc":"x % y signed"
},
{
"ref":"ida_hexrays.cot_umod",
"url":19,
"doc":"x % y unsigned"
},
{
"ref":"ida_hexrays.cot_fadd",
"url":19,
"doc":"x + y fp"
},
{
"ref":"ida_hexrays.cot_fsub",
"url":19,
"doc":"x - y fp"
},
{
"ref":"ida_hexrays.cot_fmul",
"url":19,
"doc":"x  y fp"
},
{
"ref":"ida_hexrays.cot_fdiv",
"url":19,
"doc":"x / y fp"
},
{
"ref":"ida_hexrays.cot_fneg",
"url":19,
"doc":"-x fp"
},
{
"ref":"ida_hexrays.cot_neg",
"url":19,
"doc":"-x"
},
{
"ref":"ida_hexrays.cot_cast",
"url":19,
"doc":"(type)x"
},
{
"ref":"ida_hexrays.cot_lnot",
"url":19,
"doc":"!x"
},
{
"ref":"ida_hexrays.cot_bnot",
"url":19,
"doc":"~x"
},
{
"ref":"ida_hexrays.cot_ptr",
"url":19,
"doc":" x, access size in 'ptrsize'"
},
{
"ref":"ida_hexrays.cot_ref",
"url":19,
"doc":"&x"
},
{
"ref":"ida_hexrays.cot_postinc",
"url":19,
"doc":"x "
},
{
"ref":"ida_hexrays.cot_postdec",
"url":19,
"doc":"x-"
},
{
"ref":"ida_hexrays.cot_preinc",
"url":19,
"doc":" x"
},
{
"ref":"ida_hexrays.cot_predec",
"url":19,
"doc":"-x"
},
{
"ref":"ida_hexrays.cot_call",
"url":19,
"doc":"x( .)"
},
{
"ref":"ida_hexrays.cot_idx",
"url":19,
"doc":"x[y]"
},
{
"ref":"ida_hexrays.cot_memref",
"url":19,
"doc":"x.m"
},
{
"ref":"ida_hexrays.cot_memptr",
"url":19,
"doc":"x->m, access size in 'ptrsize'"
},
{
"ref":"ida_hexrays.cot_num",
"url":19,
"doc":"n"
},
{
"ref":"ida_hexrays.cot_fnum",
"url":19,
"doc":"fpc"
},
{
"ref":"ida_hexrays.cot_str",
"url":19,
"doc":"string constant (user representation)"
},
{
"ref":"ida_hexrays.cot_obj",
"url":19,
"doc":"obj_ea"
},
{
"ref":"ida_hexrays.cot_var",
"url":19,
"doc":"v"
},
{
"ref":"ida_hexrays.cot_insn",
"url":19,
"doc":"instruction in expression, internal representation only"
},
{
"ref":"ida_hexrays.cot_sizeof",
"url":19,
"doc":"sizeof(x)"
},
{
"ref":"ida_hexrays.cot_helper",
"url":19,
"doc":"arbitrary name"
},
{
"ref":"ida_hexrays.cot_type",
"url":19,
"doc":"arbitrary type"
},
{
"ref":"ida_hexrays.cit_empty",
"url":19,
"doc":"instruction types start here"
},
{
"ref":"ida_hexrays.cit_block",
"url":19,
"doc":"block-statement: {  . }"
},
{
"ref":"ida_hexrays.cit_expr",
"url":19,
"doc":"expression-statement: expr;"
},
{
"ref":"ida_hexrays.cit_if",
"url":19,
"doc":"if-statement"
},
{
"ref":"ida_hexrays.cit_for",
"url":19,
"doc":"for-statement"
},
{
"ref":"ida_hexrays.cit_while",
"url":19,
"doc":"while-statement"
},
{
"ref":"ida_hexrays.cit_do",
"url":19,
"doc":"do-statement"
},
{
"ref":"ida_hexrays.cit_switch",
"url":19,
"doc":"switch-statement"
},
{
"ref":"ida_hexrays.cit_break",
"url":19,
"doc":"break-statement"
},
{
"ref":"ida_hexrays.cit_continue",
"url":19,
"doc":"continue-statement"
},
{
"ref":"ida_hexrays.cit_return",
"url":19,
"doc":"return-statement"
},
{
"ref":"ida_hexrays.cit_goto",
"url":19,
"doc":"goto-statement"
},
{
"ref":"ida_hexrays.cit_asm",
"url":19,
"doc":"asm-statement"
},
{
"ref":"ida_hexrays.cit_try",
"url":19,
"doc":"C try-statement."
},
{
"ref":"ida_hexrays.cit_throw",
"url":19,
"doc":"C throw-statement."
},
{
"ref":"ida_hexrays.negated_relation",
"url":19,
"doc":"negated_relation(op) -> ctype_t Negate a comparison operator. For example, cot_sge becomes cot_slt. @param op: (C : ctype_t) enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.swapped_relation",
"url":19,
"doc":"swapped_relation(op) -> ctype_t Swap a comparison operator. For example, cot_sge becomes cot_sle. @param op: (C : ctype_t) enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.get_op_signness",
"url":19,
"doc":"get_op_signness(op) -> type_sign_t Get operator sign. Meaningful for sign-dependent operators, like cot_sdiv. @param op: (C : ctype_t) enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.asgop",
"url":19,
"doc":"asgop(cop) -> ctype_t Convert plain operator into assignment operator. For example, cot_add returns cot_asgadd. @param cop: (C : ctype_t) enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.asgop_revert",
"url":19,
"doc":"asgop_revert(cop) -> ctype_t Convert assignment operator into plain operator. For example, cot_asgadd returns cot_add @param cop: (C : ctype_t) enum ctype_t @return: cot_empty is the input operator is not an assignment operator.",
"func":1
},
{
"ref":"ida_hexrays.op_uses_x",
"url":19,
"doc":"op_uses_x(op) -> bool Does operator use the 'x' field of cexpr_t? @param op: (C : ctype_t) enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.op_uses_y",
"url":19,
"doc":"op_uses_y(op) -> bool Does operator use the 'y' field of cexpr_t? @param op: (C : ctype_t) enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.op_uses_z",
"url":19,
"doc":"op_uses_z(op) -> bool Does operator use the 'z' field of cexpr_t? @param op: (C : ctype_t) enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.is_binary",
"url":19,
"doc":"is_binary(op) -> bool Is binary operator? @param op: (C : ctype_t) enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.is_unary",
"url":19,
"doc":"is_unary(op) -> bool Is unary operator? @param op: (C : ctype_t) enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.is_relational",
"url":19,
"doc":"is_relational(op) -> bool Is comparison operator? @param op: (C : ctype_t) enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.is_assignment",
"url":19,
"doc":"is_assignment(op) -> bool Is assignment operator? @param op: (C : ctype_t) enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.accepts_udts",
"url":19,
"doc":"accepts_udts(op) -> bool @param op: enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.is_prepost",
"url":19,
"doc":"is_prepost(op) -> bool Is pre/post increment/decrement operator? @param op: (C : ctype_t) enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.is_commutative",
"url":19,
"doc":"is_commutative(op) -> bool Is commutative operator? @param op: (C : ctype_t) enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.is_additive",
"url":19,
"doc":"is_additive(op) -> bool Is additive operator? @param op: (C : ctype_t) enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.is_multiplicative",
"url":19,
"doc":"is_multiplicative(op) -> bool Is multiplicative operator? @param op: (C : ctype_t) enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.is_bitop",
"url":19,
"doc":"is_bitop(op) -> bool Is bit related operator? @param op: (C : ctype_t) enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.is_logical",
"url":19,
"doc":"is_logical(op) -> bool Is logical operator? @param op: (C : ctype_t) enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.is_loop",
"url":19,
"doc":"is_loop(op) -> bool Is loop statement code? @param op: (C : ctype_t) enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.is_break_consumer",
"url":19,
"doc":"is_break_consumer(op) -> bool Does a break statement influence the specified statement code? @param op: (C : ctype_t) enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.is_lvalue",
"url":19,
"doc":"is_lvalue(op) -> bool Is Lvalue operator? @param op: (C : ctype_t) enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.accepts_small_udts",
"url":19,
"doc":"accepts_small_udts(op) -> bool Is the operator allowed on small structure or union? @param op: (C : ctype_t) enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.cnumber_t",
"url":19,
"doc":"Proxy of C cnumber_t class. __init__(self, _opnum=0) -> cnumber_t @param _opnum: int"
},
{
"ref":"ida_hexrays.cnumber_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.cnumber_t.nf",
"url":19,
"doc":"how to represent it"
},
{
"ref":"ida_hexrays.cnumber_t.value",
"url":19,
"doc":"value(self, type) -> uint64 Get value. This function will properly extend the number sign to 64bits depending on the type sign. @param type: (C : const tinfo_t &) tinfo_t const &",
"func":1
},
{
"ref":"ida_hexrays.cnumber_t.assign",
"url":19,
"doc":"assign(self, v, nbytes, sign) Assign new value @param v: (C : uint64) new value @param nbytes: (C : int) size of the new value in bytes @param sign: (C : type_sign_t) sign of the value",
"func":1
},
{
"ref":"ida_hexrays.cnumber_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: cnumber_t const &",
"func":1
},
{
"ref":"ida_hexrays.var_ref_t",
"url":19,
"doc":"Proxy of C var_ref_t class. __init__(self) -> var_ref_t"
},
{
"ref":"ida_hexrays.var_ref_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.var_ref_t.mba",
"url":19,
"doc":"pointer to the underlying micro array"
},
{
"ref":"ida_hexrays.var_ref_t.idx",
"url":19,
"doc":"index into lvars_t"
},
{
"ref":"ida_hexrays.var_ref_t.getv",
"url":19,
"doc":"getv(self) -> lvar_t",
"func":1
},
{
"ref":"ida_hexrays.var_ref_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: var_ref_t const &",
"func":1
},
{
"ref":"ida_hexrays.CMAT_ZERO",
"url":19,
"doc":"does not exist"
},
{
"ref":"ida_hexrays.CMAT_BUILT",
"url":19,
"doc":"just generated"
},
{
"ref":"ida_hexrays.CMAT_TRANS1",
"url":19,
"doc":"applied first wave of transformations"
},
{
"ref":"ida_hexrays.CMAT_NICE",
"url":19,
"doc":"nicefied expressions"
},
{
"ref":"ida_hexrays.CMAT_TRANS2",
"url":19,
"doc":"applied second wave of transformations"
},
{
"ref":"ida_hexrays.CMAT_CPA",
"url":19,
"doc":"corrected pointer arithmetic"
},
{
"ref":"ida_hexrays.CMAT_TRANS3",
"url":19,
"doc":"applied third wave of transformations"
},
{
"ref":"ida_hexrays.CMAT_CASTED",
"url":19,
"doc":"added necessary casts"
},
{
"ref":"ida_hexrays.CMAT_FINAL",
"url":19,
"doc":"ready-to-use"
},
{
"ref":"ida_hexrays.ITP_EMPTY",
"url":19,
"doc":"nothing"
},
{
"ref":"ida_hexrays.ITP_ARG1",
"url":19,
"doc":", (64 entries are reserved for 64 call arguments)"
},
{
"ref":"ida_hexrays.ITP_ASM",
"url":19,
"doc":"__asm-line"
},
{
"ref":"ida_hexrays.ITP_ELSE",
"url":19,
"doc":"else-line"
},
{
"ref":"ida_hexrays.ITP_DO",
"url":19,
"doc":"do-line"
},
{
"ref":"ida_hexrays.ITP_SEMI",
"url":19,
"doc":"semicolon"
},
{
"ref":"ida_hexrays.ITP_CURLY1",
"url":19,
"doc":"{"
},
{
"ref":"ida_hexrays.ITP_CURLY2",
"url":19,
"doc":"}"
},
{
"ref":"ida_hexrays.ITP_BRACE2",
"url":19,
"doc":")"
},
{
"ref":"ida_hexrays.ITP_COLON",
"url":19,
"doc":": (label)"
},
{
"ref":"ida_hexrays.ITP_BLOCK1",
"url":19,
"doc":"opening block comment. this comment is printed before the item (other comments are indented and printed after the item)"
},
{
"ref":"ida_hexrays.ITP_BLOCK2",
"url":19,
"doc":"closing block comment."
},
{
"ref":"ida_hexrays.ITP_TRY",
"url":19,
"doc":"C try statement."
},
{
"ref":"ida_hexrays.ITP_CASE",
"url":19,
"doc":"bit for switch cases"
},
{
"ref":"ida_hexrays.ITP_SIGN",
"url":19,
"doc":"if this bit is set too, then we have a negative case value"
},
{
"ref":"ida_hexrays.treeloc_t",
"url":19,
"doc":"Proxy of C treeloc_t class. __init__(self) -> treeloc_t"
},
{
"ref":"ida_hexrays.treeloc_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.treeloc_t.ea",
"url":19,
"doc":"ea"
},
{
"ref":"ida_hexrays.treeloc_t.itp",
"url":19,
"doc":"itp"
},
{
"ref":"ida_hexrays.RETRIEVE_ONCE",
"url":19,
"doc":"Retrieve comment if it has not been used yet."
},
{
"ref":"ida_hexrays.RETRIEVE_ALWAYS",
"url":19,
"doc":"Retrieve comment even if it has been used."
},
{
"ref":"ida_hexrays.citem_cmt_t",
"url":19,
"doc":"Proxy of C citem_cmt_t class. __init__(self) -> citem_cmt_t __init__(self, s) -> citem_cmt_t @param s: char const  "
},
{
"ref":"ida_hexrays.citem_cmt_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.citem_cmt_t.used",
"url":19,
"doc":"the comment has been retrieved?"
},
{
"ref":"ida_hexrays.citem_cmt_t.c_str",
"url":19,
"doc":"c_str(self) -> char const  ",
"func":1
},
{
"ref":"ida_hexrays.citem_locator_t",
"url":19,
"doc":"Proxy of C citem_locator_t class. __init__(self, _ea, _op) -> citem_locator_t @param _ea: ea_t @param _op: enum ctype_t __init__(self, i) -> citem_locator_t @param i: citem_t const  "
},
{
"ref":"ida_hexrays.citem_locator_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.citem_locator_t.ea",
"url":19,
"doc":"citem address"
},
{
"ref":"ida_hexrays.citem_locator_t.op",
"url":19,
"doc":"citem operation"
},
{
"ref":"ida_hexrays.citem_locator_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: citem_locator_t const &",
"func":1
},
{
"ref":"ida_hexrays.bit_bound_t",
"url":19,
"doc":"Proxy of C bit_bound_t class. __init__(self, n=0, s=0) -> bit_bound_t @param n: int @param s: int"
},
{
"ref":"ida_hexrays.bit_bound_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.bit_bound_t.nbits",
"url":19,
"doc":"nbits"
},
{
"ref":"ida_hexrays.bit_bound_t.sbits",
"url":19,
"doc":"sbits"
},
{
"ref":"ida_hexrays.citem_t",
"url":19,
"doc":"Proxy of C citem_t class. __init__(self, o=cot_empty) -> citem_t @param o: enum ctype_t"
},
{
"ref":"ida_hexrays.citem_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.citem_t.ea",
"url":19,
"doc":"address that corresponds to the item. may be BADADDR"
},
{
"ref":"ida_hexrays.citem_t.label_num",
"url":19,
"doc":"label number. -1 means no label. items of the expression types (cot_ .) should not have labels at the final maturity level, but at the intermediate levels any ctree item may have a label. Labels must be unique. Usually they correspond to the basic block numbers."
},
{
"ref":"ida_hexrays.citem_t.index",
"url":19,
"doc":"an index in cfunc_t treeitems. meaningful only after print_func()"
},
{
"ref":"ida_hexrays.citem_t.swap",
"url":19,
"doc":"swap(self, r) Swap two citem_t. @param r: (C : citem_t &)",
"func":1
},
{
"ref":"ida_hexrays.citem_t.is_expr",
"url":19,
"doc":"is_expr(self) -> bool Is an expression?",
"func":1
},
{
"ref":"ida_hexrays.citem_t.contains_expr",
"url":19,
"doc":"contains_expr(self, e) -> bool Does the item contain an expression? @param e: (C : const cexpr_t  ) cexpr_t const  ",
"func":1
},
{
"ref":"ida_hexrays.citem_t.contains_label",
"url":19,
"doc":"contains_label(self) -> bool Does the item contain a label?",
"func":1
},
{
"ref":"ida_hexrays.citem_t.find_parent_of",
"url":19,
"doc":"find_parent_of(self, sitem) -> citem_t @param sitem: citem_t const  find_parent_of(self, item) -> citem_t @param item: citem_t const  ",
"func":1
},
{
"ref":"ida_hexrays.citem_t.find_closest_addr",
"url":19,
"doc":"find_closest_addr(self, _ea) -> citem_t @param _ea: ea_t",
"func":1
},
{
"ref":"ida_hexrays.citem_t.print1",
"url":19,
"doc":"print1(self, func) Print item into one line. @param func: (C : const cfunc_t  ) parent function. This argument is used to find out the referenced variable names. @return: length of the generated text.",
"func":1
},
{
"ref":"ida_hexrays.citem_t.cinsn",
"url":19,
"doc":"cinsn"
},
{
"ref":"ida_hexrays.citem_t.cexpr",
"url":19,
"doc":"cexpr"
},
{
"ref":"ida_hexrays.citem_t.op",
"url":19,
"doc":"item type"
},
{
"ref":"ida_hexrays.citem_t.obj_id",
"url":19,
"doc":"_obj_id(self) -> PyObject  "
},
{
"ref":"ida_hexrays.citem_t.replace_by",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.citem_t.meminfo",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.citem_t.to_specific_type",
"url":19,
"doc":"cast the citem_t object to its more specific type, either cexpr_t or cinsn_t."
},
{
"ref":"ida_hexrays.cexpr_t",
"url":19,
"doc":"Proxy of C cexpr_t class. __init__(self) -> cexpr_t __init__(self, cexpr_op, _x, _y=None, _z=None) -> cexpr_t @param cexpr_op: enum ctype_t @param _x: cexpr_t  @param _y: cexpr_t  @param _z: cexpr_t  __init__(self, r) -> cexpr_t @param r: cexpr_t const &"
},
{
"ref":"ida_hexrays.cexpr_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.cexpr_t.type",
"url":19,
"doc":"expression type. must be carefully maintained"
},
{
"ref":"ida_hexrays.cexpr_t.exflags",
"url":19,
"doc":"Expression attributes"
},
{
"ref":"ida_hexrays.cexpr_t.cpadone",
"url":19,
"doc":"cpadone(self) -> bool Pointer arithmetic correction done for this expression?",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.is_odd_lvalue",
"url":19,
"doc":"is_odd_lvalue(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.is_fpop",
"url":19,
"doc":"is_fpop(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.is_cstr",
"url":19,
"doc":"is_cstr(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.is_undef_val",
"url":19,
"doc":"is_undef_val(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.is_jumpout",
"url":19,
"doc":"is_jumpout(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.is_vftable",
"url":19,
"doc":"is_vftable(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.set_cpadone",
"url":19,
"doc":"set_cpadone(self)",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.set_vftable",
"url":19,
"doc":"set_vftable(self)",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.swap",
"url":19,
"doc":"swap(self, r) @param r: cexpr_t &",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.assign",
"url":19,
"doc":"assign(self, r) -> cexpr_t @param r: cexpr_t const &",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: cexpr_t const &",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.cleanup",
"url":19,
"doc":"cleanup(self) Cleanup the expression. This function properly deletes all children and sets the item type to cot_empty.",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.put_number",
"url":19,
"doc":"put_number(self, func, value, nbytes, sign=no_sign) Assign a number to the expression. @param func: (C : cfunc_t  ) current function @param value: (C : uint64) number value @param nbytes: (C : int) size of the number in bytes @param sign: (C : type_sign_t) number sign",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.print1",
"url":19,
"doc":"print1(self, func) Print expression into one line. @param func: (C : const cfunc_t  ) parent function. This argument is used to find out the referenced variable names.",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.calc_type",
"url":19,
"doc":"calc_type(self, recursive) Calculate the type of the expression. Use this function to calculate the expression type when a new expression is built @param recursive: (C : bool) if true, types of all children expression will be calculated before calculating our type",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.equal_effect",
"url":19,
"doc":"equal_effect(self, r) -> bool Compare two expressions. This function tries to compare two expressions in an 'intelligent' manner. For example, it knows about commutitive operators and can ignore useless casts. @param r: (C : const cexpr_t &) the expression to compare against the current expression @return: true expressions can be considered equal",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.is_child_of",
"url":19,
"doc":"is_child_of(self, parent) -> bool Verify if the specified item is our parent. @param parent: (C : const citem_t  ) possible parent item @return: true if the specified item is our parent",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.contains_operator",
"url":19,
"doc":"contains_operator(self, needed_op, times=1) -> bool Check if the expression contains the specified operator. @param needed_op: (C : ctype_t) operator code to search for @param times: (C : int) how many times the operator code should be present @return: true if the expression has at least TIMES children with NEEDED_OP",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.contains_comma",
"url":19,
"doc":"contains_comma(self, times=1) -> bool Does the expression contain a comma operator? @param times: (C : int)",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.contains_insn",
"url":19,
"doc":"contains_insn(self, times=1) -> bool Does the expression contain an embedded statement operator? @param times: (C : int)",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.contains_insn_or_label",
"url":19,
"doc":"contains_insn_or_label(self) -> bool Does the expression contain an embedded statement operator or a label?",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.contains_comma_or_insn_or_label",
"url":19,
"doc":"contains_comma_or_insn_or_label(self, maxcommas=1) -> bool Does the expression contain a comma operator or an embedded statement operator or a label? @param maxcommas: (C : int)",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.is_nice_expr",
"url":19,
"doc":"is_nice_expr(self) -> bool Is nice expression? Nice expressions do not contain comma operators, embedded statements, or labels.",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.is_nice_cond",
"url":19,
"doc":"is_nice_cond(self) -> bool Is nice condition?. Nice condition is a nice expression of the boolean type.",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.is_call_object_of",
"url":19,
"doc":"is_call_object_of(self, parent) -> bool Is call object? @param parent: (C : const citem_t  ) citem_t const  @return: true if our expression is the call object of the specified parent expression.",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.is_call_arg_of",
"url":19,
"doc":"is_call_arg_of(self, parent) -> bool Is call argument? @param parent: (C : const citem_t  ) citem_t const  @return: true if our expression is a call argument of the specified parent expression.",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.get_type_sign",
"url":19,
"doc":"get_type_sign(self) -> type_sign_t Get expression sign.",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.is_type_unsigned",
"url":19,
"doc":"is_type_unsigned(self) -> bool Is expression unsigned?",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.is_type_signed",
"url":19,
"doc":"is_type_signed(self) -> bool Is expression signed?",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.get_high_nbit_bound",
"url":19,
"doc":"get_high_nbit_bound(self) -> bit_bound_t Get max number of bits that can really be used by the expression. For example, x % 16 can yield only 4 non-zero bits, higher bits are zero",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.get_low_nbit_bound",
"url":19,
"doc":"get_low_nbit_bound(self) -> int Get min number of bits that are certainly required to represent the expression. For example, constant 16 always uses 5 bits: 10000.",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.requires_lvalue",
"url":19,
"doc":"requires_lvalue(self, child) -> bool Check if the expression requires an lvalue. @param child: (C : const cexpr_t  ) The function will check if this child of our expression must be an lvalue. @return: true if child must be an lvalue.",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.has_side_effects",
"url":19,
"doc":"has_side_effects(self) -> bool Check if the expression has side effects. Calls, pre/post inc/dec, and assignments have side effects.",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.numval",
"url":19,
"doc":"numval(self) -> uint64 Get numeric value of the expression. This function can be called only on cot_num expressions!",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.is_const_value",
"url":19,
"doc":"is_const_value(self, _v) -> bool Check if the expression is a number with the specified value. @param _v: (C : uint64)",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.is_negative_const",
"url":19,
"doc":"is_negative_const(self) -> bool Check if the expression is a negative number.",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.is_non_negative_const",
"url":19,
"doc":"is_non_negative_const(self) -> bool Check if the expression is a non-negative number.",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.is_non_zero_const",
"url":19,
"doc":"is_non_zero_const(self) -> bool Check if the expression is a non-zero number.",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.is_zero_const",
"url":19,
"doc":"is_zero_const(self) -> bool Check if the expression is a zero.",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.get_const_value",
"url":19,
"doc":"get_const_value(self) -> bool Get expression value. @return: true if the expression is a number.",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.maybe_ptr",
"url":19,
"doc":"maybe_ptr(self) -> bool May the expression be a pointer?",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.get_ptr_or_array",
"url":19,
"doc":"get_ptr_or_array(self) -> cexpr_t Find pointer or array child.",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.find_op",
"url":19,
"doc":"find_op(self, _op) -> cexpr_t @param _op: enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.find_num_op",
"url":19,
"doc":"find_num_op(self) -> cexpr_t",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.theother",
"url":19,
"doc":"theother(self, what) -> cexpr_t @param what: cexpr_t const  ",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.get_1num_op",
"url":19,
"doc":"get_1num_op(self, o1, o2) -> bool @param o1: cexpr_t  @param o2: cexpr_t  ",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.dstr",
"url":19,
"doc":"dstr(self) -> char const  ",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.get_v",
"url":19,
"doc":"get_v(self) -> var_ref_t",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.set_v",
"url":19,
"doc":"set_v(self, v) @param v: var_ref_t const  ",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.v",
"url":19,
"doc":"used for cot_var"
},
{
"ref":"ida_hexrays.cexpr_t.n",
"url":19,
"doc":"used for cot_num"
},
{
"ref":"ida_hexrays.cexpr_t.fpc",
"url":19,
"doc":"used for cot_fnum"
},
{
"ref":"ida_hexrays.cexpr_t.x",
"url":19,
"doc":"the first operand of the expression"
},
{
"ref":"ida_hexrays.cexpr_t.y",
"url":19,
"doc":"the second operand of the expression"
},
{
"ref":"ida_hexrays.cexpr_t.z",
"url":19,
"doc":"the third operand of the expression"
},
{
"ref":"ida_hexrays.cexpr_t.a",
"url":19,
"doc":"argument list (used for cot_call)"
},
{
"ref":"ida_hexrays.cexpr_t.insn",
"url":19,
"doc":"an embedded statement, they are prohibited at the final maturity stage (CMAT_FINAL)"
},
{
"ref":"ida_hexrays.cexpr_t.m",
"url":19,
"doc":"member offset (used for cot_memptr, cot_memref) for unions, the member number"
},
{
"ref":"ida_hexrays.cexpr_t.ptrsize",
"url":19,
"doc":"memory access size (used for cot_ptr, cot_memptr)"
},
{
"ref":"ida_hexrays.cexpr_t.obj_ea",
"url":19,
"doc":"used for cot_obj"
},
{
"ref":"ida_hexrays.cexpr_t.refwidth",
"url":19,
"doc":"how many bytes are accessed? (-1: none)"
},
{
"ref":"ida_hexrays.cexpr_t.helper",
"url":19,
"doc":"helper name (used for cot_helper)"
},
{
"ref":"ida_hexrays.cexpr_t.string",
"url":19,
"doc":"utf8 string constant, user representation (used for cot_str)"
},
{
"ref":"ida_hexrays.cexpr_t.op_to_typename",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.cexpr_t.opname",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.cexpr_t.operands",
"url":19,
"doc":"return a dictionary with the operands of a cexpr_t."
},
{
"ref":"ida_hexrays.cexpr_t.ea",
"url":19,
"doc":"address that corresponds to the item. may be BADADDR"
},
{
"ref":"ida_hexrays.cexpr_t.label_num",
"url":19,
"doc":"label number. -1 means no label. items of the expression types (cot_ .) should not have labels at the final maturity level, but at the intermediate levels any ctree item may have a label. Labels must be unique. Usually they correspond to the basic block numbers."
},
{
"ref":"ida_hexrays.cexpr_t.index",
"url":19,
"doc":"an index in cfunc_t treeitems. meaningful only after print_func()"
},
{
"ref":"ida_hexrays.cexpr_t.is_expr",
"url":19,
"doc":"is_expr(self) -> bool Is an expression?",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.contains_expr",
"url":19,
"doc":"contains_expr(self, e) -> bool Does the item contain an expression? @param e: (C : const cexpr_t  ) cexpr_t const  ",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.contains_label",
"url":19,
"doc":"contains_label(self) -> bool Does the item contain a label?",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.find_parent_of",
"url":19,
"doc":"find_parent_of(self, sitem) -> citem_t @param sitem: citem_t const  find_parent_of(self, item) -> citem_t @param item: citem_t const  ",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.find_closest_addr",
"url":19,
"doc":"find_closest_addr(self, _ea) -> citem_t @param _ea: ea_t",
"func":1
},
{
"ref":"ida_hexrays.cexpr_t.cinsn",
"url":19,
"doc":"cinsn"
},
{
"ref":"ida_hexrays.cexpr_t.cexpr",
"url":19,
"doc":"cexpr"
},
{
"ref":"ida_hexrays.cexpr_t.op",
"url":19,
"doc":"item type"
},
{
"ref":"ida_hexrays.cexpr_t.obj_id",
"url":19,
"doc":"_obj_id(self) -> PyObject  "
},
{
"ref":"ida_hexrays.cexpr_t.to_specific_type",
"url":19,
"doc":"cast the citem_t object to its more specific type, either cexpr_t or cinsn_t."
},
{
"ref":"ida_hexrays.EXFL_CPADONE",
"url":19,
"doc":"pointer arithmetic correction done"
},
{
"ref":"ida_hexrays.EXFL_LVALUE",
"url":19,
"doc":"expression is lvalue even if it doesn't look like it"
},
{
"ref":"ida_hexrays.EXFL_FPOP",
"url":19,
"doc":"floating point operation"
},
{
"ref":"ida_hexrays.EXFL_ALONE",
"url":19,
"doc":"standalone helper"
},
{
"ref":"ida_hexrays.EXFL_CSTR",
"url":19,
"doc":"string literal"
},
{
"ref":"ida_hexrays.EXFL_PARTIAL",
"url":19,
"doc":"type of the expression is considered partial"
},
{
"ref":"ida_hexrays.EXFL_UNDEF",
"url":19,
"doc":"expression uses undefined value"
},
{
"ref":"ida_hexrays.EXFL_JUMPOUT",
"url":19,
"doc":"jump out-of-function"
},
{
"ref":"ida_hexrays.EXFL_VFTABLE",
"url":19,
"doc":"is ptr to vftable (used for cot_memptr, cot_memref)"
},
{
"ref":"ida_hexrays.EXFL_ALL",
"url":19,
"doc":"all currently defined bits"
},
{
"ref":"ida_hexrays.ceinsn_t",
"url":19,
"doc":"Proxy of C ceinsn_t class. __init__(self) -> ceinsn_t"
},
{
"ref":"ida_hexrays.ceinsn_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.ceinsn_t.expr",
"url":19,
"doc":"Expression of the statement."
},
{
"ref":"ida_hexrays.CALC_CURLY_BRACES",
"url":19,
"doc":"print curly braces if necessary"
},
{
"ref":"ida_hexrays.NO_CURLY_BRACES",
"url":19,
"doc":"don't print curly braces"
},
{
"ref":"ida_hexrays.USE_CURLY_BRACES",
"url":19,
"doc":"print curly braces without any checks"
},
{
"ref":"ida_hexrays.cif_t",
"url":19,
"doc":"Proxy of C cif_t class. __init__(self) -> cif_t __init__(self, r) -> cif_t @param r: cif_t const &"
},
{
"ref":"ida_hexrays.cif_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.cif_t.ithen",
"url":19,
"doc":"Then-branch of the if-statement."
},
{
"ref":"ida_hexrays.cif_t.ielse",
"url":19,
"doc":"Else-branch of the if-statement. May be nullptr."
},
{
"ref":"ida_hexrays.cif_t.assign",
"url":19,
"doc":"assign(self, r) -> cif_t @param r: cif_t const &",
"func":1
},
{
"ref":"ida_hexrays.cif_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: cif_t const &",
"func":1
},
{
"ref":"ida_hexrays.cif_t.cleanup",
"url":19,
"doc":"cleanup(self)",
"func":1
},
{
"ref":"ida_hexrays.cif_t.expr",
"url":19,
"doc":"Expression of the statement."
},
{
"ref":"ida_hexrays.cloop_t",
"url":19,
"doc":"Proxy of C cloop_t class. __init__(self, b=None) -> cloop_t @param b: cinsn_t  __init__(self, r) -> cloop_t @param r: cloop_t const &"
},
{
"ref":"ida_hexrays.cloop_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.cloop_t.body",
"url":19,
"doc":"body"
},
{
"ref":"ida_hexrays.cloop_t.assign",
"url":19,
"doc":"assign(self, r) -> cloop_t @param r: cloop_t const &",
"func":1
},
{
"ref":"ida_hexrays.cloop_t.cleanup",
"url":19,
"doc":"cleanup(self)",
"func":1
},
{
"ref":"ida_hexrays.cloop_t.expr",
"url":19,
"doc":"Expression of the statement."
},
{
"ref":"ida_hexrays.cfor_t",
"url":19,
"doc":"Proxy of C cfor_t class. __init__(self) -> cfor_t"
},
{
"ref":"ida_hexrays.cfor_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.cfor_t.init",
"url":19,
"doc":"Initialization expression."
},
{
"ref":"ida_hexrays.cfor_t.step",
"url":19,
"doc":"Step expression."
},
{
"ref":"ida_hexrays.cfor_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: cfor_t const &",
"func":1
},
{
"ref":"ida_hexrays.cfor_t.body",
"url":19,
"doc":"body"
},
{
"ref":"ida_hexrays.cfor_t.assign",
"url":19,
"doc":"assign(self, r) -> cloop_t @param r: cloop_t const &",
"func":1
},
{
"ref":"ida_hexrays.cfor_t.cleanup",
"url":19,
"doc":"cleanup(self)",
"func":1
},
{
"ref":"ida_hexrays.cfor_t.expr",
"url":19,
"doc":"Expression of the statement."
},
{
"ref":"ida_hexrays.cwhile_t",
"url":19,
"doc":"Proxy of C cwhile_t class. __init__(self) -> cwhile_t"
},
{
"ref":"ida_hexrays.cwhile_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.cwhile_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: cwhile_t const &",
"func":1
},
{
"ref":"ida_hexrays.cwhile_t.body",
"url":19,
"doc":"body"
},
{
"ref":"ida_hexrays.cwhile_t.assign",
"url":19,
"doc":"assign(self, r) -> cloop_t @param r: cloop_t const &",
"func":1
},
{
"ref":"ida_hexrays.cwhile_t.cleanup",
"url":19,
"doc":"cleanup(self)",
"func":1
},
{
"ref":"ida_hexrays.cwhile_t.expr",
"url":19,
"doc":"Expression of the statement."
},
{
"ref":"ida_hexrays.cdo_t",
"url":19,
"doc":"Proxy of C cdo_t class. __init__(self) -> cdo_t"
},
{
"ref":"ida_hexrays.cdo_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.cdo_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: cdo_t const &",
"func":1
},
{
"ref":"ida_hexrays.cdo_t.body",
"url":19,
"doc":"body"
},
{
"ref":"ida_hexrays.cdo_t.assign",
"url":19,
"doc":"assign(self, r) -> cloop_t @param r: cloop_t const &",
"func":1
},
{
"ref":"ida_hexrays.cdo_t.cleanup",
"url":19,
"doc":"cleanup(self)",
"func":1
},
{
"ref":"ida_hexrays.cdo_t.expr",
"url":19,
"doc":"Expression of the statement."
},
{
"ref":"ida_hexrays.creturn_t",
"url":19,
"doc":"Proxy of C creturn_t class. __init__(self) -> creturn_t"
},
{
"ref":"ida_hexrays.creturn_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.creturn_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: creturn_t const &",
"func":1
},
{
"ref":"ida_hexrays.creturn_t.expr",
"url":19,
"doc":"Expression of the statement."
},
{
"ref":"ida_hexrays.cgoto_t",
"url":19,
"doc":"Proxy of C cgoto_t class. __init__(self) -> cgoto_t"
},
{
"ref":"ida_hexrays.cgoto_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.cgoto_t.label_num",
"url":19,
"doc":"Target label number."
},
{
"ref":"ida_hexrays.cgoto_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: cgoto_t const &",
"func":1
},
{
"ref":"ida_hexrays.casm_t",
"url":19,
"doc":"Proxy of C casm_t class. __init__(self, ea) -> casm_t @param ea: ea_t __init__(self, r) -> casm_t @param r: casm_t const &"
},
{
"ref":"ida_hexrays.casm_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.casm_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: casm_t const &",
"func":1
},
{
"ref":"ida_hexrays.casm_t.one_insn",
"url":19,
"doc":"one_insn(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.casm_t.push_back",
"url":21,
"doc":"push_back(self, x) @param x: unsigned long long const & push_back(self) -> unsigned long long &",
"func":1
},
{
"ref":"ida_hexrays.casm_t.pop_back",
"url":21,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.casm_t.size",
"url":21,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.casm_t.empty",
"url":21,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.casm_t.at",
"url":21,
"doc":"__getitem__(self, i) -> unsigned long long const & @param i: size_t",
"func":1
},
{
"ref":"ida_hexrays.casm_t.qclear",
"url":21,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.casm_t.clear",
"url":21,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.casm_t.resize",
"url":21,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: unsigned long long const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_hexrays.casm_t.capacity",
"url":21,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.casm_t.reserve",
"url":21,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_hexrays.casm_t.truncate",
"url":21,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_hexrays.casm_t.swap",
"url":21,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_hexrays.casm_t.extract",
"url":21,
"doc":"extract(self) -> unsigned long long  ",
"func":1
},
{
"ref":"ida_hexrays.casm_t.inject",
"url":21,
"doc":"inject(self, s, len) @param s: unsigned long long  @param len: size_t",
"func":1
},
{
"ref":"ida_hexrays.casm_t.begin",
"url":21,
"doc":"begin(self) -> qvector  iterator begin(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_hexrays.casm_t.end",
"url":21,
"doc":"end(self) -> qvector  iterator end(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_hexrays.casm_t.insert",
"url":21,
"doc":"insert(self, it, x) -> qvector  iterator @param it: qvector  iterator @param x: unsigned long long const &",
"func":1
},
{
"ref":"ida_hexrays.casm_t.erase",
"url":21,
"doc":"erase(self, it) -> qvector  iterator @param it: qvector  iterator erase(self, first, last) -> qvector  iterator @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_hexrays.casm_t.find",
"url":21,
"doc":"find(self, x) -> qvector  iterator @param x: unsigned long long const & find(self, x) -> qvector  const_iterator @param x: unsigned long long const &",
"func":1
},
{
"ref":"ida_hexrays.casm_t.has",
"url":21,
"doc":"has(self, x) -> bool @param x: unsigned long long const &",
"func":1
},
{
"ref":"ida_hexrays.casm_t.add_unique",
"url":21,
"doc":"add_unique(self, x) -> bool @param x: unsigned long long const &",
"func":1
},
{
"ref":"ida_hexrays.casm_t.append",
"url":21,
"doc":"push_back(self, x) @param x: unsigned long long const & push_back(self) -> unsigned long long &",
"func":1
},
{
"ref":"ida_hexrays.cinsn_t",
"url":19,
"doc":"Proxy of C cinsn_t class. __init__(self) -> cinsn_t __init__(self, r) -> cinsn_t @param r: cinsn_t const &"
},
{
"ref":"ida_hexrays.cinsn_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.cinsn_t.ctry",
"url":19,
"doc":"details of try-statement"
},
{
"ref":"ida_hexrays.cinsn_t.cthrow",
"url":19,
"doc":"details of throw-statement"
},
{
"ref":"ida_hexrays.cinsn_t.swap",
"url":19,
"doc":"swap(self, r) @param r: cinsn_t &",
"func":1
},
{
"ref":"ida_hexrays.cinsn_t.assign",
"url":19,
"doc":"assign(self, r) -> cinsn_t @param r: cinsn_t const &",
"func":1
},
{
"ref":"ida_hexrays.cinsn_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: cinsn_t const &",
"func":1
},
{
"ref":"ida_hexrays.cinsn_t.cleanup",
"url":19,
"doc":"cleanup(self) Cleanup the statement. This function properly deletes all children and sets the item type to cit_empty.",
"func":1
},
{
"ref":"ida_hexrays.cinsn_t.zero",
"url":19,
"doc":"zero(self) Overwrite with zeroes without cleaning memory or deleting children.",
"func":1
},
{
"ref":"ida_hexrays.cinsn_t.new_insn",
"url":19,
"doc":"new_insn(self, insn_ea) -> cinsn_t Create a new statement. The current statement must be a block. The new statement will be appended to it. @param insn_ea: (C : ea_t) statement address",
"func":1
},
{
"ref":"ida_hexrays.cinsn_t.create_if",
"url":19,
"doc":"create_if(self, cnd) -> cif_t Create a new if-statement. The current statement must be a block. The new statement will be appended to it. @param cnd: (C : cexpr_t  ) if condition. It will be deleted after being copied.",
"func":1
},
{
"ref":"ida_hexrays.cinsn_t.print1",
"url":19,
"doc":"print1(self, func) Print the statement into one line. Currently this function is not available. @param func: (C : const cfunc_t  ) parent function. This argument is used to find out the referenced variable names.",
"func":1
},
{
"ref":"ida_hexrays.cinsn_t.is_ordinary_flow",
"url":19,
"doc":"is_ordinary_flow(self) -> bool Check if the statement passes execution to the next statement. @return: false if the statement breaks the control flow (like goto, return, etc)",
"func":1
},
{
"ref":"ida_hexrays.cinsn_t.contains_insn",
"url":19,
"doc":"contains_insn(self, type, times=1) -> bool Check if the statement contains a statement of the specified type. @param type: (C : ctype_t) statement opcode to look for @param times: (C : int) how many times TYPE should be present @return: true if the statement has at least TIMES children with opcode  TYPE",
"func":1
},
{
"ref":"ida_hexrays.cinsn_t.collect_free_breaks",
"url":19,
"doc":"collect_free_breaks(self, breaks) -> bool Collect free break statements. This function finds all free break statements within the current statement. A break statement is free if it does not have a loop or switch parent that that is also within the current statement. @param breaks: (C : cinsnptrvec_t  ) pointer to the variable where the vector of all found free break statements is returned. This argument can be nullptr. @return: true if some free break statements have been found",
"func":1
},
{
"ref":"ida_hexrays.cinsn_t.collect_free_continues",
"url":19,
"doc":"collect_free_continues(self, continues) -> bool Collect free continue statements. This function finds all free continue statements within the current statement. A continue statement is free if it does not have a loop parent that that is also within the current statement. @param continues: (C : cinsnptrvec_t  ) pointer to the variable where the vector of all found free continue statements is returned. This argument can be nullptr. @return: true if some free continue statements have been found",
"func":1
},
{
"ref":"ida_hexrays.cinsn_t.contains_free_break",
"url":19,
"doc":"contains_free_break(self) -> bool Check if the statement has free break statements.",
"func":1
},
{
"ref":"ida_hexrays.cinsn_t.contains_free_continue",
"url":19,
"doc":"contains_free_continue(self) -> bool Check if the statement has free continue statements.",
"func":1
},
{
"ref":"ida_hexrays.cinsn_t.dstr",
"url":19,
"doc":"dstr(self) -> char const  ",
"func":1
},
{
"ref":"ida_hexrays.cinsn_t.insn_is_epilog",
"url":19,
"doc":"insn_is_epilog(insn) -> bool @param insn: cinsn_t const  ",
"func":1
},
{
"ref":"ida_hexrays.cinsn_t.is_epilog",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.cinsn_t.cblock",
"url":19,
"doc":"details of block-statement"
},
{
"ref":"ida_hexrays.cinsn_t.cexpr",
"url":19,
"doc":"details of expression-statement"
},
{
"ref":"ida_hexrays.cinsn_t.cif",
"url":19,
"doc":"details of if-statement"
},
{
"ref":"ida_hexrays.cinsn_t.cfor",
"url":19,
"doc":"details of for-statement"
},
{
"ref":"ida_hexrays.cinsn_t.cwhile",
"url":19,
"doc":"details of while-statement"
},
{
"ref":"ida_hexrays.cinsn_t.cdo",
"url":19,
"doc":"details of do-statement"
},
{
"ref":"ida_hexrays.cinsn_t.cswitch",
"url":19,
"doc":"details of switch-statement"
},
{
"ref":"ida_hexrays.cinsn_t.creturn",
"url":19,
"doc":"details of return-statement"
},
{
"ref":"ida_hexrays.cinsn_t.cgoto",
"url":19,
"doc":"details of goto-statement"
},
{
"ref":"ida_hexrays.cinsn_t.casm",
"url":19,
"doc":"details of asm-statement"
},
{
"ref":"ida_hexrays.cinsn_t.op_to_typename",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.cinsn_t.opname",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.cinsn_t.details",
"url":19,
"doc":"return the details pointer for the cinsn_t object depending on the value of its op member. this is one of the cblock_t, cif_t, etc. objects."
},
{
"ref":"ida_hexrays.cinsn_t.ea",
"url":19,
"doc":"address that corresponds to the item. may be BADADDR"
},
{
"ref":"ida_hexrays.cinsn_t.label_num",
"url":19,
"doc":"label number. -1 means no label. items of the expression types (cot_ .) should not have labels at the final maturity level, but at the intermediate levels any ctree item may have a label. Labels must be unique. Usually they correspond to the basic block numbers."
},
{
"ref":"ida_hexrays.cinsn_t.index",
"url":19,
"doc":"an index in cfunc_t treeitems. meaningful only after print_func()"
},
{
"ref":"ida_hexrays.cinsn_t.is_expr",
"url":19,
"doc":"is_expr(self) -> bool Is an expression?",
"func":1
},
{
"ref":"ida_hexrays.cinsn_t.contains_expr",
"url":19,
"doc":"contains_expr(self, e) -> bool Does the item contain an expression? @param e: (C : const cexpr_t  ) cexpr_t const  ",
"func":1
},
{
"ref":"ida_hexrays.cinsn_t.contains_label",
"url":19,
"doc":"contains_label(self) -> bool Does the item contain a label?",
"func":1
},
{
"ref":"ida_hexrays.cinsn_t.find_parent_of",
"url":19,
"doc":"find_parent_of(self, sitem) -> citem_t @param sitem: citem_t const  find_parent_of(self, item) -> citem_t @param item: citem_t const  ",
"func":1
},
{
"ref":"ida_hexrays.cinsn_t.find_closest_addr",
"url":19,
"doc":"find_closest_addr(self, _ea) -> citem_t @param _ea: ea_t",
"func":1
},
{
"ref":"ida_hexrays.cinsn_t.cinsn",
"url":19,
"doc":"cinsn"
},
{
"ref":"ida_hexrays.cinsn_t.op",
"url":19,
"doc":"item type"
},
{
"ref":"ida_hexrays.cinsn_t.obj_id",
"url":19,
"doc":"_obj_id(self) -> PyObject  "
},
{
"ref":"ida_hexrays.cinsn_t.to_specific_type",
"url":19,
"doc":"cast the citem_t object to its more specific type, either cexpr_t or cinsn_t."
},
{
"ref":"ida_hexrays.cblock_t",
"url":19,
"doc":"Proxy of C cblock_t class. __init__(self) -> cblock_t"
},
{
"ref":"ida_hexrays.cblock_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.cblock_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: cblock_t const &",
"func":1
},
{
"ref":"ida_hexrays.cblock_t.swap",
"url":19,
"doc":"swap(self, x) @param x: qlist &",
"func":1
},
{
"ref":"ida_hexrays.cblock_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.cblock_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.cblock_t.rbegin",
"url":19,
"doc":"rbegin(self) -> qlist  reverse_iterator rbegin(self) -> qlist  const_reverse_iterator",
"func":1
},
{
"ref":"ida_hexrays.cblock_t.rend",
"url":19,
"doc":"rend(self) -> qlist  reverse_iterator rend(self) -> qlist  const_reverse_iterator",
"func":1
},
{
"ref":"ida_hexrays.cblock_t.push_front",
"url":19,
"doc":"push_front(self, x) @param x: cinsn_t const &",
"func":1
},
{
"ref":"ida_hexrays.cblock_t.push_back",
"url":19,
"doc":"push_back(self, x) @param x: cinsn_t const & push_back(self) -> cinsn_t",
"func":1
},
{
"ref":"ida_hexrays.cblock_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.cblock_t.pop_front",
"url":19,
"doc":"pop_front(self)",
"func":1
},
{
"ref":"ida_hexrays.cblock_t.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.cblock_t.splice",
"url":19,
"doc":"splice(self, pos, other, first, last) @param pos: qlist  iterator @param other: qlist & @param first: qlist  iterator @param last: qlist  iterator",
"func":1
},
{
"ref":"ida_hexrays.cblock_t.remove",
"url":19,
"doc":"remove(self, v) -> bool @param v: cinsn_t const &",
"func":1
},
{
"ref":"ida_hexrays.cblock_t.begin",
"url":19,
"doc":"begin(self) -> cinsn_list_t_iterator",
"func":1
},
{
"ref":"ida_hexrays.cblock_t.end",
"url":19,
"doc":"end(self) -> cinsn_list_t_iterator",
"func":1
},
{
"ref":"ida_hexrays.cblock_t.insert",
"url":19,
"doc":"insert(self, i, v) @param i: size_t @param v: cinsn_t const & insert(self, p, x) -> cinsn_list_t_iterator @param p: cinsn_list_t_iterator @param x: cinsn_t const &",
"func":1
},
{
"ref":"ida_hexrays.cblock_t.erase",
"url":19,
"doc":"erase(self, p) @param p: cinsn_list_t_iterator",
"func":1
},
{
"ref":"ida_hexrays.carg_t",
"url":19,
"doc":"Proxy of C carg_t class. __init__(self) -> carg_t"
},
{
"ref":"ida_hexrays.carg_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.carg_t.is_vararg",
"url":19,
"doc":"is a vararg (matches  .)"
},
{
"ref":"ida_hexrays.carg_t.formal_type",
"url":19,
"doc":"formal parameter type (if known)"
},
{
"ref":"ida_hexrays.carg_t.consume_cexpr",
"url":19,
"doc":"consume_cexpr(self, e) @param e: cexpr_t  ",
"func":1
},
{
"ref":"ida_hexrays.carg_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: carg_t const &",
"func":1
},
{
"ref":"ida_hexrays.carg_t.type",
"url":19,
"doc":"expression type. must be carefully maintained"
},
{
"ref":"ida_hexrays.carg_t.exflags",
"url":19,
"doc":"Expression attributes"
},
{
"ref":"ida_hexrays.carg_t.cpadone",
"url":19,
"doc":"cpadone(self) -> bool Pointer arithmetic correction done for this expression?",
"func":1
},
{
"ref":"ida_hexrays.carg_t.is_odd_lvalue",
"url":19,
"doc":"is_odd_lvalue(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.carg_t.is_fpop",
"url":19,
"doc":"is_fpop(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.carg_t.is_cstr",
"url":19,
"doc":"is_cstr(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.carg_t.is_undef_val",
"url":19,
"doc":"is_undef_val(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.carg_t.is_jumpout",
"url":19,
"doc":"is_jumpout(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.carg_t.is_vftable",
"url":19,
"doc":"is_vftable(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.carg_t.set_cpadone",
"url":19,
"doc":"set_cpadone(self)",
"func":1
},
{
"ref":"ida_hexrays.carg_t.set_vftable",
"url":19,
"doc":"set_vftable(self)",
"func":1
},
{
"ref":"ida_hexrays.carg_t.swap",
"url":19,
"doc":"swap(self, r) @param r: cexpr_t &",
"func":1
},
{
"ref":"ida_hexrays.carg_t.assign",
"url":19,
"doc":"assign(self, r) -> cexpr_t @param r: cexpr_t const &",
"func":1
},
{
"ref":"ida_hexrays.carg_t.cleanup",
"url":19,
"doc":"cleanup(self) Cleanup the expression. This function properly deletes all children and sets the item type to cot_empty.",
"func":1
},
{
"ref":"ida_hexrays.carg_t.put_number",
"url":19,
"doc":"put_number(self, func, value, nbytes, sign=no_sign) Assign a number to the expression. @param func: (C : cfunc_t  ) current function @param value: (C : uint64) number value @param nbytes: (C : int) size of the number in bytes @param sign: (C : type_sign_t) number sign",
"func":1
},
{
"ref":"ida_hexrays.carg_t.print1",
"url":19,
"doc":"print1(self, func) Print expression into one line. @param func: (C : const cfunc_t  ) parent function. This argument is used to find out the referenced variable names.",
"func":1
},
{
"ref":"ida_hexrays.carg_t.calc_type",
"url":19,
"doc":"calc_type(self, recursive) Calculate the type of the expression. Use this function to calculate the expression type when a new expression is built @param recursive: (C : bool) if true, types of all children expression will be calculated before calculating our type",
"func":1
},
{
"ref":"ida_hexrays.carg_t.equal_effect",
"url":19,
"doc":"equal_effect(self, r) -> bool Compare two expressions. This function tries to compare two expressions in an 'intelligent' manner. For example, it knows about commutitive operators and can ignore useless casts. @param r: (C : const cexpr_t &) the expression to compare against the current expression @return: true expressions can be considered equal",
"func":1
},
{
"ref":"ida_hexrays.carg_t.is_child_of",
"url":19,
"doc":"is_child_of(self, parent) -> bool Verify if the specified item is our parent. @param parent: (C : const citem_t  ) possible parent item @return: true if the specified item is our parent",
"func":1
},
{
"ref":"ida_hexrays.carg_t.contains_operator",
"url":19,
"doc":"contains_operator(self, needed_op, times=1) -> bool Check if the expression contains the specified operator. @param needed_op: (C : ctype_t) operator code to search for @param times: (C : int) how many times the operator code should be present @return: true if the expression has at least TIMES children with NEEDED_OP",
"func":1
},
{
"ref":"ida_hexrays.carg_t.contains_comma",
"url":19,
"doc":"contains_comma(self, times=1) -> bool Does the expression contain a comma operator? @param times: (C : int)",
"func":1
},
{
"ref":"ida_hexrays.carg_t.contains_insn",
"url":19,
"doc":"contains_insn(self, times=1) -> bool Does the expression contain an embedded statement operator? @param times: (C : int)",
"func":1
},
{
"ref":"ida_hexrays.carg_t.contains_insn_or_label",
"url":19,
"doc":"contains_insn_or_label(self) -> bool Does the expression contain an embedded statement operator or a label?",
"func":1
},
{
"ref":"ida_hexrays.carg_t.contains_comma_or_insn_or_label",
"url":19,
"doc":"contains_comma_or_insn_or_label(self, maxcommas=1) -> bool Does the expression contain a comma operator or an embedded statement operator or a label? @param maxcommas: (C : int)",
"func":1
},
{
"ref":"ida_hexrays.carg_t.is_nice_expr",
"url":19,
"doc":"is_nice_expr(self) -> bool Is nice expression? Nice expressions do not contain comma operators, embedded statements, or labels.",
"func":1
},
{
"ref":"ida_hexrays.carg_t.is_nice_cond",
"url":19,
"doc":"is_nice_cond(self) -> bool Is nice condition?. Nice condition is a nice expression of the boolean type.",
"func":1
},
{
"ref":"ida_hexrays.carg_t.is_call_object_of",
"url":19,
"doc":"is_call_object_of(self, parent) -> bool Is call object? @param parent: (C : const citem_t  ) citem_t const  @return: true if our expression is the call object of the specified parent expression.",
"func":1
},
{
"ref":"ida_hexrays.carg_t.is_call_arg_of",
"url":19,
"doc":"is_call_arg_of(self, parent) -> bool Is call argument? @param parent: (C : const citem_t  ) citem_t const  @return: true if our expression is a call argument of the specified parent expression.",
"func":1
},
{
"ref":"ida_hexrays.carg_t.get_type_sign",
"url":19,
"doc":"get_type_sign(self) -> type_sign_t Get expression sign.",
"func":1
},
{
"ref":"ida_hexrays.carg_t.is_type_unsigned",
"url":19,
"doc":"is_type_unsigned(self) -> bool Is expression unsigned?",
"func":1
},
{
"ref":"ida_hexrays.carg_t.is_type_signed",
"url":19,
"doc":"is_type_signed(self) -> bool Is expression signed?",
"func":1
},
{
"ref":"ida_hexrays.carg_t.get_high_nbit_bound",
"url":19,
"doc":"get_high_nbit_bound(self) -> bit_bound_t Get max number of bits that can really be used by the expression. For example, x % 16 can yield only 4 non-zero bits, higher bits are zero",
"func":1
},
{
"ref":"ida_hexrays.carg_t.get_low_nbit_bound",
"url":19,
"doc":"get_low_nbit_bound(self) -> int Get min number of bits that are certainly required to represent the expression. For example, constant 16 always uses 5 bits: 10000.",
"func":1
},
{
"ref":"ida_hexrays.carg_t.requires_lvalue",
"url":19,
"doc":"requires_lvalue(self, child) -> bool Check if the expression requires an lvalue. @param child: (C : const cexpr_t  ) The function will check if this child of our expression must be an lvalue. @return: true if child must be an lvalue.",
"func":1
},
{
"ref":"ida_hexrays.carg_t.has_side_effects",
"url":19,
"doc":"has_side_effects(self) -> bool Check if the expression has side effects. Calls, pre/post inc/dec, and assignments have side effects.",
"func":1
},
{
"ref":"ida_hexrays.carg_t.numval",
"url":19,
"doc":"numval(self) -> uint64 Get numeric value of the expression. This function can be called only on cot_num expressions!",
"func":1
},
{
"ref":"ida_hexrays.carg_t.is_const_value",
"url":19,
"doc":"is_const_value(self, _v) -> bool Check if the expression is a number with the specified value. @param _v: (C : uint64)",
"func":1
},
{
"ref":"ida_hexrays.carg_t.is_negative_const",
"url":19,
"doc":"is_negative_const(self) -> bool Check if the expression is a negative number.",
"func":1
},
{
"ref":"ida_hexrays.carg_t.is_non_negative_const",
"url":19,
"doc":"is_non_negative_const(self) -> bool Check if the expression is a non-negative number.",
"func":1
},
{
"ref":"ida_hexrays.carg_t.is_non_zero_const",
"url":19,
"doc":"is_non_zero_const(self) -> bool Check if the expression is a non-zero number.",
"func":1
},
{
"ref":"ida_hexrays.carg_t.is_zero_const",
"url":19,
"doc":"is_zero_const(self) -> bool Check if the expression is a zero.",
"func":1
},
{
"ref":"ida_hexrays.carg_t.get_const_value",
"url":19,
"doc":"get_const_value(self) -> bool Get expression value. @return: true if the expression is a number.",
"func":1
},
{
"ref":"ida_hexrays.carg_t.maybe_ptr",
"url":19,
"doc":"maybe_ptr(self) -> bool May the expression be a pointer?",
"func":1
},
{
"ref":"ida_hexrays.carg_t.get_ptr_or_array",
"url":19,
"doc":"get_ptr_or_array(self) -> cexpr_t Find pointer or array child.",
"func":1
},
{
"ref":"ida_hexrays.carg_t.find_op",
"url":19,
"doc":"find_op(self, _op) -> cexpr_t @param _op: enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.carg_t.find_num_op",
"url":19,
"doc":"find_num_op(self) -> cexpr_t",
"func":1
},
{
"ref":"ida_hexrays.carg_t.theother",
"url":19,
"doc":"theother(self, what) -> cexpr_t @param what: cexpr_t const  ",
"func":1
},
{
"ref":"ida_hexrays.carg_t.get_1num_op",
"url":19,
"doc":"get_1num_op(self, o1, o2) -> bool @param o1: cexpr_t  @param o2: cexpr_t  ",
"func":1
},
{
"ref":"ida_hexrays.carg_t.dstr",
"url":19,
"doc":"dstr(self) -> char const  ",
"func":1
},
{
"ref":"ida_hexrays.carg_t.get_v",
"url":19,
"doc":"get_v(self) -> var_ref_t",
"func":1
},
{
"ref":"ida_hexrays.carg_t.set_v",
"url":19,
"doc":"set_v(self, v) @param v: var_ref_t const  ",
"func":1
},
{
"ref":"ida_hexrays.carg_t.v",
"url":19,
"doc":"used for cot_var"
},
{
"ref":"ida_hexrays.carg_t.n",
"url":19,
"doc":"used for cot_num"
},
{
"ref":"ida_hexrays.carg_t.fpc",
"url":19,
"doc":"used for cot_fnum"
},
{
"ref":"ida_hexrays.carg_t.x",
"url":19,
"doc":"the first operand of the expression"
},
{
"ref":"ida_hexrays.carg_t.y",
"url":19,
"doc":"the second operand of the expression"
},
{
"ref":"ida_hexrays.carg_t.z",
"url":19,
"doc":"the third operand of the expression"
},
{
"ref":"ida_hexrays.carg_t.a",
"url":19,
"doc":"argument list (used for cot_call)"
},
{
"ref":"ida_hexrays.carg_t.insn",
"url":19,
"doc":"an embedded statement, they are prohibited at the final maturity stage (CMAT_FINAL)"
},
{
"ref":"ida_hexrays.carg_t.m",
"url":19,
"doc":"member offset (used for cot_memptr, cot_memref) for unions, the member number"
},
{
"ref":"ida_hexrays.carg_t.ptrsize",
"url":19,
"doc":"memory access size (used for cot_ptr, cot_memptr)"
},
{
"ref":"ida_hexrays.carg_t.obj_ea",
"url":19,
"doc":"used for cot_obj"
},
{
"ref":"ida_hexrays.carg_t.refwidth",
"url":19,
"doc":"how many bytes are accessed? (-1: none)"
},
{
"ref":"ida_hexrays.carg_t.helper",
"url":19,
"doc":"helper name (used for cot_helper)"
},
{
"ref":"ida_hexrays.carg_t.string",
"url":19,
"doc":"utf8 string constant, user representation (used for cot_str)"
},
{
"ref":"ida_hexrays.carg_t.operands",
"url":19,
"doc":"return a dictionary with the operands of a cexpr_t."
},
{
"ref":"ida_hexrays.carg_t.ea",
"url":19,
"doc":"address that corresponds to the item. may be BADADDR"
},
{
"ref":"ida_hexrays.carg_t.label_num",
"url":19,
"doc":"label number. -1 means no label. items of the expression types (cot_ .) should not have labels at the final maturity level, but at the intermediate levels any ctree item may have a label. Labels must be unique. Usually they correspond to the basic block numbers."
},
{
"ref":"ida_hexrays.carg_t.index",
"url":19,
"doc":"an index in cfunc_t treeitems. meaningful only after print_func()"
},
{
"ref":"ida_hexrays.carg_t.is_expr",
"url":19,
"doc":"is_expr(self) -> bool Is an expression?",
"func":1
},
{
"ref":"ida_hexrays.carg_t.contains_expr",
"url":19,
"doc":"contains_expr(self, e) -> bool Does the item contain an expression? @param e: (C : const cexpr_t  ) cexpr_t const  ",
"func":1
},
{
"ref":"ida_hexrays.carg_t.contains_label",
"url":19,
"doc":"contains_label(self) -> bool Does the item contain a label?",
"func":1
},
{
"ref":"ida_hexrays.carg_t.find_parent_of",
"url":19,
"doc":"find_parent_of(self, sitem) -> citem_t @param sitem: citem_t const  find_parent_of(self, item) -> citem_t @param item: citem_t const  ",
"func":1
},
{
"ref":"ida_hexrays.carg_t.find_closest_addr",
"url":19,
"doc":"find_closest_addr(self, _ea) -> citem_t @param _ea: ea_t",
"func":1
},
{
"ref":"ida_hexrays.carg_t.cinsn",
"url":19,
"doc":"cinsn"
},
{
"ref":"ida_hexrays.carg_t.cexpr",
"url":19,
"doc":"cexpr"
},
{
"ref":"ida_hexrays.carg_t.op",
"url":19,
"doc":"item type"
},
{
"ref":"ida_hexrays.carg_t.obj_id",
"url":19,
"doc":"_obj_id(self) -> PyObject  "
},
{
"ref":"ida_hexrays.carg_t.to_specific_type",
"url":19,
"doc":"cast the citem_t object to its more specific type, either cexpr_t or cinsn_t."
},
{
"ref":"ida_hexrays.carglist_t",
"url":19,
"doc":"Proxy of C carglist_t class. __init__(self) -> carglist_t __init__(self, ftype, fl=0) -> carglist_t @param ftype: tinfo_t const & @param fl: int"
},
{
"ref":"ida_hexrays.carglist_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.carglist_t.functype",
"url":19,
"doc":"function object type"
},
{
"ref":"ida_hexrays.carglist_t.flags",
"url":19,
"doc":"call flags"
},
{
"ref":"ida_hexrays.carglist_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: carglist_t const &",
"func":1
},
{
"ref":"ida_hexrays.carglist_t.push_back",
"url":19,
"doc":"push_back(self, x) @param x: carg_t const & push_back(self) -> carg_t",
"func":1
},
{
"ref":"ida_hexrays.carglist_t.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.carglist_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.carglist_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.carglist_t.at",
"url":19,
"doc":"__getitem__(self, i) -> carg_t @param i: size_t",
"func":1
},
{
"ref":"ida_hexrays.carglist_t.qclear",
"url":19,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.carglist_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.carglist_t.resize",
"url":19,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: carg_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_hexrays.carglist_t.grow",
"url":19,
"doc":"grow(self, x=carg_t( @param x: carg_t const &",
"func":1
},
{
"ref":"ida_hexrays.carglist_t.capacity",
"url":19,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.carglist_t.reserve",
"url":19,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_hexrays.carglist_t.truncate",
"url":19,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_hexrays.carglist_t.swap",
"url":19,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_hexrays.carglist_t.extract",
"url":19,
"doc":"extract(self) -> carg_t",
"func":1
},
{
"ref":"ida_hexrays.carglist_t.inject",
"url":19,
"doc":"inject(self, s, len) @param s: carg_t  @param len: size_t",
"func":1
},
{
"ref":"ida_hexrays.carglist_t.begin",
"url":19,
"doc":"begin(self) -> carg_t",
"func":1
},
{
"ref":"ida_hexrays.carglist_t.end",
"url":19,
"doc":"end(self) -> carg_t",
"func":1
},
{
"ref":"ida_hexrays.carglist_t.insert",
"url":19,
"doc":"insert(self, it, x) -> carg_t @param it: qvector  iterator @param x: carg_t const &",
"func":1
},
{
"ref":"ida_hexrays.carglist_t.erase",
"url":19,
"doc":"erase(self, it) -> carg_t @param it: qvector  iterator erase(self, first, last) -> carg_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_hexrays.carglist_t.find",
"url":19,
"doc":"find(self, x) -> carg_t @param x: carg_t const &",
"func":1
},
{
"ref":"ida_hexrays.carglist_t.has",
"url":19,
"doc":"has(self, x) -> bool @param x: carg_t const &",
"func":1
},
{
"ref":"ida_hexrays.carglist_t.add_unique",
"url":19,
"doc":"add_unique(self, x) -> bool @param x: carg_t const &",
"func":1
},
{
"ref":"ida_hexrays.carglist_t.append",
"url":19,
"doc":"push_back(self, x) @param x: carg_t const & push_back(self) -> carg_t",
"func":1
},
{
"ref":"ida_hexrays.CFL_FINAL",
"url":19,
"doc":"call type is final, should not be changed"
},
{
"ref":"ida_hexrays.CFL_HELPER",
"url":19,
"doc":"created from a decompiler helper function"
},
{
"ref":"ida_hexrays.CFL_NORET",
"url":19,
"doc":"call does not return"
},
{
"ref":"ida_hexrays.ccase_t",
"url":19,
"doc":"Proxy of C ccase_t class. __init__(self) -> ccase_t"
},
{
"ref":"ida_hexrays.ccase_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.ccase_t.values",
"url":19,
"doc":"List of case values. if empty, then 'default' case"
},
{
"ref":"ida_hexrays.ccase_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: ccase_t const &",
"func":1
},
{
"ref":"ida_hexrays.ccase_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.ccase_t.value",
"url":19,
"doc":"value(self, i) -> uint64 const & @param i: int",
"func":1
},
{
"ref":"ida_hexrays.ccase_t.ctry",
"url":19,
"doc":"details of try-statement"
},
{
"ref":"ida_hexrays.ccase_t.cthrow",
"url":19,
"doc":"details of throw-statement"
},
{
"ref":"ida_hexrays.ccase_t.swap",
"url":19,
"doc":"swap(self, r) @param r: cinsn_t &",
"func":1
},
{
"ref":"ida_hexrays.ccase_t.assign",
"url":19,
"doc":"assign(self, r) -> cinsn_t @param r: cinsn_t const &",
"func":1
},
{
"ref":"ida_hexrays.ccase_t.cleanup",
"url":19,
"doc":"cleanup(self) Cleanup the statement. This function properly deletes all children and sets the item type to cit_empty.",
"func":1
},
{
"ref":"ida_hexrays.ccase_t.zero",
"url":19,
"doc":"zero(self) Overwrite with zeroes without cleaning memory or deleting children.",
"func":1
},
{
"ref":"ida_hexrays.ccase_t.new_insn",
"url":19,
"doc":"new_insn(self, insn_ea) -> cinsn_t Create a new statement. The current statement must be a block. The new statement will be appended to it. @param insn_ea: (C : ea_t) statement address",
"func":1
},
{
"ref":"ida_hexrays.ccase_t.create_if",
"url":19,
"doc":"create_if(self, cnd) -> cif_t Create a new if-statement. The current statement must be a block. The new statement will be appended to it. @param cnd: (C : cexpr_t  ) if condition. It will be deleted after being copied.",
"func":1
},
{
"ref":"ida_hexrays.ccase_t.print1",
"url":19,
"doc":"print1(self, func) Print the statement into one line. Currently this function is not available. @param func: (C : const cfunc_t  ) parent function. This argument is used to find out the referenced variable names.",
"func":1
},
{
"ref":"ida_hexrays.ccase_t.is_ordinary_flow",
"url":19,
"doc":"is_ordinary_flow(self) -> bool Check if the statement passes execution to the next statement. @return: false if the statement breaks the control flow (like goto, return, etc)",
"func":1
},
{
"ref":"ida_hexrays.ccase_t.contains_insn",
"url":19,
"doc":"contains_insn(self, type, times=1) -> bool Check if the statement contains a statement of the specified type. @param type: (C : ctype_t) statement opcode to look for @param times: (C : int) how many times TYPE should be present @return: true if the statement has at least TIMES children with opcode  TYPE",
"func":1
},
{
"ref":"ida_hexrays.ccase_t.collect_free_breaks",
"url":19,
"doc":"collect_free_breaks(self, breaks) -> bool Collect free break statements. This function finds all free break statements within the current statement. A break statement is free if it does not have a loop or switch parent that that is also within the current statement. @param breaks: (C : cinsnptrvec_t  ) pointer to the variable where the vector of all found free break statements is returned. This argument can be nullptr. @return: true if some free break statements have been found",
"func":1
},
{
"ref":"ida_hexrays.ccase_t.collect_free_continues",
"url":19,
"doc":"collect_free_continues(self, continues) -> bool Collect free continue statements. This function finds all free continue statements within the current statement. A continue statement is free if it does not have a loop parent that that is also within the current statement. @param continues: (C : cinsnptrvec_t  ) pointer to the variable where the vector of all found free continue statements is returned. This argument can be nullptr. @return: true if some free continue statements have been found",
"func":1
},
{
"ref":"ida_hexrays.ccase_t.contains_free_break",
"url":19,
"doc":"contains_free_break(self) -> bool Check if the statement has free break statements.",
"func":1
},
{
"ref":"ida_hexrays.ccase_t.contains_free_continue",
"url":19,
"doc":"contains_free_continue(self) -> bool Check if the statement has free continue statements.",
"func":1
},
{
"ref":"ida_hexrays.ccase_t.dstr",
"url":19,
"doc":"dstr(self) -> char const  ",
"func":1
},
{
"ref":"ida_hexrays.ccase_t.insn_is_epilog",
"url":19,
"doc":"insn_is_epilog(insn) -> bool @param insn: cinsn_t const  ",
"func":1
},
{
"ref":"ida_hexrays.ccase_t.cblock",
"url":19,
"doc":"details of block-statement"
},
{
"ref":"ida_hexrays.ccase_t.cexpr",
"url":19,
"doc":"details of expression-statement"
},
{
"ref":"ida_hexrays.ccase_t.cif",
"url":19,
"doc":"details of if-statement"
},
{
"ref":"ida_hexrays.ccase_t.cfor",
"url":19,
"doc":"details of for-statement"
},
{
"ref":"ida_hexrays.ccase_t.cwhile",
"url":19,
"doc":"details of while-statement"
},
{
"ref":"ida_hexrays.ccase_t.cdo",
"url":19,
"doc":"details of do-statement"
},
{
"ref":"ida_hexrays.ccase_t.cswitch",
"url":19,
"doc":"details of switch-statement"
},
{
"ref":"ida_hexrays.ccase_t.creturn",
"url":19,
"doc":"details of return-statement"
},
{
"ref":"ida_hexrays.ccase_t.cgoto",
"url":19,
"doc":"details of goto-statement"
},
{
"ref":"ida_hexrays.ccase_t.casm",
"url":19,
"doc":"details of asm-statement"
},
{
"ref":"ida_hexrays.ccase_t.details",
"url":19,
"doc":"return the details pointer for the cinsn_t object depending on the value of its op member. this is one of the cblock_t, cif_t, etc. objects."
},
{
"ref":"ida_hexrays.ccase_t.ea",
"url":19,
"doc":"address that corresponds to the item. may be BADADDR"
},
{
"ref":"ida_hexrays.ccase_t.label_num",
"url":19,
"doc":"label number. -1 means no label. items of the expression types (cot_ .) should not have labels at the final maturity level, but at the intermediate levels any ctree item may have a label. Labels must be unique. Usually they correspond to the basic block numbers."
},
{
"ref":"ida_hexrays.ccase_t.index",
"url":19,
"doc":"an index in cfunc_t treeitems. meaningful only after print_func()"
},
{
"ref":"ida_hexrays.ccase_t.is_expr",
"url":19,
"doc":"is_expr(self) -> bool Is an expression?",
"func":1
},
{
"ref":"ida_hexrays.ccase_t.contains_expr",
"url":19,
"doc":"contains_expr(self, e) -> bool Does the item contain an expression? @param e: (C : const cexpr_t  ) cexpr_t const  ",
"func":1
},
{
"ref":"ida_hexrays.ccase_t.contains_label",
"url":19,
"doc":"contains_label(self) -> bool Does the item contain a label?",
"func":1
},
{
"ref":"ida_hexrays.ccase_t.find_parent_of",
"url":19,
"doc":"find_parent_of(self, sitem) -> citem_t @param sitem: citem_t const  find_parent_of(self, item) -> citem_t @param item: citem_t const  ",
"func":1
},
{
"ref":"ida_hexrays.ccase_t.find_closest_addr",
"url":19,
"doc":"find_closest_addr(self, _ea) -> citem_t @param _ea: ea_t",
"func":1
},
{
"ref":"ida_hexrays.ccase_t.cinsn",
"url":19,
"doc":"cinsn"
},
{
"ref":"ida_hexrays.ccase_t.op",
"url":19,
"doc":"item type"
},
{
"ref":"ida_hexrays.ccase_t.obj_id",
"url":19,
"doc":"_obj_id(self) -> PyObject  "
},
{
"ref":"ida_hexrays.ccase_t.to_specific_type",
"url":19,
"doc":"cast the citem_t object to its more specific type, either cexpr_t or cinsn_t."
},
{
"ref":"ida_hexrays.ccases_t",
"url":19,
"doc":"Proxy of C ccases_t class. __init__(self) -> ccases_t"
},
{
"ref":"ida_hexrays.ccases_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.ccases_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: ccases_t const &",
"func":1
},
{
"ref":"ida_hexrays.ccases_t.push_back",
"url":19,
"doc":"push_back(self, x) @param x: ccase_t const & push_back(self) -> ccase_t",
"func":1
},
{
"ref":"ida_hexrays.ccases_t.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.ccases_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.ccases_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.ccases_t.at",
"url":19,
"doc":"__getitem__(self, i) -> ccase_t @param i: size_t",
"func":1
},
{
"ref":"ida_hexrays.ccases_t.qclear",
"url":19,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_hexrays.ccases_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.ccases_t.resize",
"url":19,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: ccase_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_hexrays.ccases_t.grow",
"url":19,
"doc":"grow(self, x=ccase_t( @param x: ccase_t const &",
"func":1
},
{
"ref":"ida_hexrays.ccases_t.capacity",
"url":19,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.ccases_t.reserve",
"url":19,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_hexrays.ccases_t.truncate",
"url":19,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_hexrays.ccases_t.swap",
"url":19,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_hexrays.ccases_t.extract",
"url":19,
"doc":"extract(self) -> ccase_t",
"func":1
},
{
"ref":"ida_hexrays.ccases_t.inject",
"url":19,
"doc":"inject(self, s, len) @param s: ccase_t  @param len: size_t",
"func":1
},
{
"ref":"ida_hexrays.ccases_t.begin",
"url":19,
"doc":"begin(self) -> ccase_t",
"func":1
},
{
"ref":"ida_hexrays.ccases_t.end",
"url":19,
"doc":"end(self) -> ccase_t",
"func":1
},
{
"ref":"ida_hexrays.ccases_t.insert",
"url":19,
"doc":"insert(self, it, x) -> ccase_t @param it: qvector  iterator @param x: ccase_t const &",
"func":1
},
{
"ref":"ida_hexrays.ccases_t.erase",
"url":19,
"doc":"erase(self, it) -> ccase_t @param it: qvector  iterator erase(self, first, last) -> ccase_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_hexrays.ccases_t.find",
"url":19,
"doc":"find(self, x) -> ccase_t @param x: ccase_t const &",
"func":1
},
{
"ref":"ida_hexrays.ccases_t.has",
"url":19,
"doc":"has(self, x) -> bool @param x: ccase_t const &",
"func":1
},
{
"ref":"ida_hexrays.ccases_t.add_unique",
"url":19,
"doc":"add_unique(self, x) -> bool @param x: ccase_t const &",
"func":1
},
{
"ref":"ida_hexrays.ccases_t.append",
"url":19,
"doc":"push_back(self, x) @param x: ccase_t const & push_back(self) -> ccase_t",
"func":1
},
{
"ref":"ida_hexrays.cswitch_t",
"url":19,
"doc":"Proxy of C cswitch_t class. __init__(self) -> cswitch_t"
},
{
"ref":"ida_hexrays.cswitch_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.cswitch_t.mvnf",
"url":19,
"doc":"Maximal switch value and number format."
},
{
"ref":"ida_hexrays.cswitch_t.cases",
"url":19,
"doc":"Switch cases: values and instructions."
},
{
"ref":"ida_hexrays.cswitch_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: cswitch_t const &",
"func":1
},
{
"ref":"ida_hexrays.cswitch_t.expr",
"url":19,
"doc":"Expression of the statement."
},
{
"ref":"ida_hexrays.catchexpr_t",
"url":19,
"doc":"Proxy of C catchexpr_t class. __init__(self) -> catchexpr_t"
},
{
"ref":"ida_hexrays.catchexpr_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.catchexpr_t.obj",
"url":19,
"doc":"the caught object. if obj.op cot_empty, no object. ideally, obj.op cot_var"
},
{
"ref":"ida_hexrays.catchexpr_t.fake_type",
"url":19,
"doc":"if not empty, type of the caught object. ideally, obj.type should be enough. however, in some cases the detailed type info is not available."
},
{
"ref":"ida_hexrays.catchexpr_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: catchexpr_t const &",
"func":1
},
{
"ref":"ida_hexrays.catchexpr_t.swap",
"url":19,
"doc":"swap(self, r) @param r: catchexpr_t &",
"func":1
},
{
"ref":"ida_hexrays.catchexpr_t.is_catch_all",
"url":19,
"doc":"is_catch_all(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.ccatch_t",
"url":19,
"doc":"Proxy of C ccatch_t class. __init__(self) -> cblock_t"
},
{
"ref":"ida_hexrays.ccatch_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.ccatch_t.exprs",
"url":19,
"doc":"exprs"
},
{
"ref":"ida_hexrays.ccatch_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: ccatch_t const &",
"func":1
},
{
"ref":"ida_hexrays.ccatch_t.is_catch_all",
"url":19,
"doc":"is_catch_all(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.ccatch_t.swap",
"url":19,
"doc":"swap(self, r) @param r: ccatch_t &",
"func":1
},
{
"ref":"ida_hexrays.ccatch_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.ccatch_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.ccatch_t.rbegin",
"url":19,
"doc":"rbegin(self) -> qlist  reverse_iterator rbegin(self) -> qlist  const_reverse_iterator",
"func":1
},
{
"ref":"ida_hexrays.ccatch_t.rend",
"url":19,
"doc":"rend(self) -> qlist  reverse_iterator rend(self) -> qlist  const_reverse_iterator",
"func":1
},
{
"ref":"ida_hexrays.ccatch_t.push_front",
"url":19,
"doc":"push_front(self, x) @param x: cinsn_t const &",
"func":1
},
{
"ref":"ida_hexrays.ccatch_t.push_back",
"url":19,
"doc":"push_back(self, x) @param x: cinsn_t const & push_back(self) -> cinsn_t",
"func":1
},
{
"ref":"ida_hexrays.ccatch_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.ccatch_t.pop_front",
"url":19,
"doc":"pop_front(self)",
"func":1
},
{
"ref":"ida_hexrays.ccatch_t.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.ccatch_t.splice",
"url":19,
"doc":"splice(self, pos, other, first, last) @param pos: qlist  iterator @param other: qlist & @param first: qlist  iterator @param last: qlist  iterator",
"func":1
},
{
"ref":"ida_hexrays.ccatch_t.remove",
"url":19,
"doc":"remove(self, v) -> bool @param v: cinsn_t const &",
"func":1
},
{
"ref":"ida_hexrays.ccatch_t.begin",
"url":19,
"doc":"begin(self) -> cinsn_list_t_iterator",
"func":1
},
{
"ref":"ida_hexrays.ccatch_t.end",
"url":19,
"doc":"end(self) -> cinsn_list_t_iterator",
"func":1
},
{
"ref":"ida_hexrays.ccatch_t.insert",
"url":19,
"doc":"insert(self, i, v) @param i: size_t @param v: cinsn_t const & insert(self, p, x) -> cinsn_list_t_iterator @param p: cinsn_list_t_iterator @param x: cinsn_t const &",
"func":1
},
{
"ref":"ida_hexrays.ccatch_t.erase",
"url":19,
"doc":"erase(self, p) @param p: cinsn_list_t_iterator",
"func":1
},
{
"ref":"ida_hexrays.ctry_t",
"url":19,
"doc":"Proxy of C ctry_t class. __init__(self) -> cblock_t"
},
{
"ref":"ida_hexrays.ctry_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.ctry_t.catchs",
"url":19,
"doc":"\"catch all\", if present, must be the last element. wind-statements must have \"catch all\" and nothing else."
},
{
"ref":"ida_hexrays.ctry_t.old_state",
"url":19,
"doc":"old state number (internal, MSVC related)"
},
{
"ref":"ida_hexrays.ctry_t.new_state",
"url":19,
"doc":"new state number (internal, MSVC related)"
},
{
"ref":"ida_hexrays.ctry_t.is_wind",
"url":19,
"doc":"Is C wind statement? (not part of the C language) MSVC generates code like the following to keep track of constructed objects and destroy them upon an exception. Example: / an object is constructed at this point  / __wind { / some other code that may throw an exception  / } __unwind { / this code is executed only if there was an exception  / / in the __wind block. normally here we destroy the object  /  / after that the exception is passed to the  / / exception handler, regular control flow is interrupted here.  / } / regular logic continues here, if there were no exceptions  / / also the object's destructor is called  /"
},
{
"ref":"ida_hexrays.ctry_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: ctry_t const &",
"func":1
},
{
"ref":"ida_hexrays.ctry_t.swap",
"url":19,
"doc":"swap(self, x) @param x: qlist &",
"func":1
},
{
"ref":"ida_hexrays.ctry_t.empty",
"url":19,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.ctry_t.size",
"url":19,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_hexrays.ctry_t.rbegin",
"url":19,
"doc":"rbegin(self) -> qlist  reverse_iterator rbegin(self) -> qlist  const_reverse_iterator",
"func":1
},
{
"ref":"ida_hexrays.ctry_t.rend",
"url":19,
"doc":"rend(self) -> qlist  reverse_iterator rend(self) -> qlist  const_reverse_iterator",
"func":1
},
{
"ref":"ida_hexrays.ctry_t.push_front",
"url":19,
"doc":"push_front(self, x) @param x: cinsn_t const &",
"func":1
},
{
"ref":"ida_hexrays.ctry_t.push_back",
"url":19,
"doc":"push_back(self, x) @param x: cinsn_t const & push_back(self) -> cinsn_t",
"func":1
},
{
"ref":"ida_hexrays.ctry_t.clear",
"url":19,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_hexrays.ctry_t.pop_front",
"url":19,
"doc":"pop_front(self)",
"func":1
},
{
"ref":"ida_hexrays.ctry_t.pop_back",
"url":19,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_hexrays.ctry_t.splice",
"url":19,
"doc":"splice(self, pos, other, first, last) @param pos: qlist  iterator @param other: qlist & @param first: qlist  iterator @param last: qlist  iterator",
"func":1
},
{
"ref":"ida_hexrays.ctry_t.remove",
"url":19,
"doc":"remove(self, v) -> bool @param v: cinsn_t const &",
"func":1
},
{
"ref":"ida_hexrays.ctry_t.begin",
"url":19,
"doc":"begin(self) -> cinsn_list_t_iterator",
"func":1
},
{
"ref":"ida_hexrays.ctry_t.end",
"url":19,
"doc":"end(self) -> cinsn_list_t_iterator",
"func":1
},
{
"ref":"ida_hexrays.ctry_t.insert",
"url":19,
"doc":"insert(self, i, v) @param i: size_t @param v: cinsn_t const & insert(self, p, x) -> cinsn_list_t_iterator @param p: cinsn_list_t_iterator @param x: cinsn_t const &",
"func":1
},
{
"ref":"ida_hexrays.ctry_t.erase",
"url":19,
"doc":"erase(self, p) @param p: cinsn_list_t_iterator",
"func":1
},
{
"ref":"ida_hexrays.cthrow_t",
"url":19,
"doc":"Proxy of C cthrow_t class. __init__(self) -> cthrow_t"
},
{
"ref":"ida_hexrays.cthrow_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.cthrow_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: cthrow_t const &",
"func":1
},
{
"ref":"ida_hexrays.cthrow_t.expr",
"url":19,
"doc":"Expression of the statement."
},
{
"ref":"ida_hexrays.cblock_pos_t",
"url":19,
"doc":"Proxy of C cblock_pos_t class. __init__(self) -> cblock_pos_t"
},
{
"ref":"ida_hexrays.cblock_pos_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.cblock_pos_t.blk",
"url":19,
"doc":"blk"
},
{
"ref":"ida_hexrays.cblock_pos_t.p",
"url":19,
"doc":"p"
},
{
"ref":"ida_hexrays.cblock_pos_t.is_first_insn",
"url":19,
"doc":"is_first_insn(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.cblock_pos_t.insn",
"url":19,
"doc":"insn(self) -> cinsn_t",
"func":1
},
{
"ref":"ida_hexrays.cblock_pos_t.prev_insn",
"url":19,
"doc":"prev_insn(self) -> cinsn_t",
"func":1
},
{
"ref":"ida_hexrays.ctree_visitor_t",
"url":19,
"doc":"Proxy of C ctree_visitor_t class. __init__(self, _flags) -> ctree_visitor_t @param _flags: int"
},
{
"ref":"ida_hexrays.ctree_visitor_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.ctree_visitor_t.cv_flags",
"url":19,
"doc":"Ctree visitor property bits"
},
{
"ref":"ida_hexrays.ctree_visitor_t.maintain_parents",
"url":19,
"doc":"maintain_parents(self) -> bool Should the parent information by maintained?",
"func":1
},
{
"ref":"ida_hexrays.ctree_visitor_t.must_prune",
"url":19,
"doc":"must_prune(self) -> bool Should the traversal skip the children of the current item?",
"func":1
},
{
"ref":"ida_hexrays.ctree_visitor_t.must_restart",
"url":19,
"doc":"must_restart(self) -> bool Should the traversal restart?",
"func":1
},
{
"ref":"ida_hexrays.ctree_visitor_t.is_postorder",
"url":19,
"doc":"is_postorder(self) -> bool Should the leave .() functions be called?",
"func":1
},
{
"ref":"ida_hexrays.ctree_visitor_t.only_insns",
"url":19,
"doc":"only_insns(self) -> bool Should all expressions be automatically pruned?",
"func":1
},
{
"ref":"ida_hexrays.ctree_visitor_t.prune_now",
"url":19,
"doc":"prune_now(self) Prune children. This function may be called by a visitor() to skip all children of the current item.",
"func":1
},
{
"ref":"ida_hexrays.ctree_visitor_t.clr_prune",
"url":19,
"doc":"clr_prune(self) Do not prune children. This is an internal function, no need to call it.",
"func":1
},
{
"ref":"ida_hexrays.ctree_visitor_t.set_restart",
"url":19,
"doc":"set_restart(self) Restart the travesal. Meaningful only in apply_to_exprs()",
"func":1
},
{
"ref":"ida_hexrays.ctree_visitor_t.clr_restart",
"url":19,
"doc":"clr_restart(self) Do not restart. This is an internal function, no need to call it.",
"func":1
},
{
"ref":"ida_hexrays.ctree_visitor_t.parents",
"url":19,
"doc":"Vector of parents of the current item."
},
{
"ref":"ida_hexrays.ctree_visitor_t.bposvec",
"url":19,
"doc":"Vector of block positions. Only cit_block and cit_try parents have the corresponding element in this vector."
},
{
"ref":"ida_hexrays.ctree_visitor_t.apply_to",
"url":19,
"doc":"apply_to(self, item, parent) -> int Traverse ctree. The traversal will start at the specified item and continue until of one the visit_ .() functions return a non-zero value. @param item: (C : citem_t  ) root of the ctree to traverse @param parent: (C : citem_t  ) parent of the specified item. can be specified as nullptr. @return: 0 or a non-zero value returned by a visit_ .() function",
"func":1
},
{
"ref":"ida_hexrays.ctree_visitor_t.apply_to_exprs",
"url":19,
"doc":"apply_to_exprs(self, item, parent) -> int Traverse only expressions. The traversal will start at the specified item and continue until of one the visit_ .() functions return a non-zero value. @param item: (C : citem_t  ) root of the ctree to traverse @param parent: (C : citem_t  ) parent of the specified item. can be specified as nullptr. @return: 0 or a non-zero value returned by a visit_ .() function",
"func":1
},
{
"ref":"ida_hexrays.ctree_visitor_t.parent_expr",
"url":19,
"doc":"parent_expr(self) -> cexpr_t Get parent of the current item as an expression.",
"func":1
},
{
"ref":"ida_hexrays.ctree_visitor_t.parent_insn",
"url":19,
"doc":"parent_insn(self) -> cinsn_t Get parent of the current item as a statement.",
"func":1
},
{
"ref":"ida_hexrays.ctree_visitor_t.visit_insn",
"url":19,
"doc":"visit_insn(self, arg0) -> int Visit a statement. This is a visitor function which should be overridden by a derived class to do some useful work. This visitor performs pre-order traserval, i.e. an item is visited before its children. @param arg0: cinsn_t  @return: 0 to continue the traversal, nonzero to stop.",
"func":1
},
{
"ref":"ida_hexrays.ctree_visitor_t.visit_expr",
"url":19,
"doc":"visit_expr(self, arg0) -> int Visit an expression. This is a visitor function which should be overridden by a derived class to do some useful work. This visitor performs pre-order traserval, i.e. an item is visited before its children. @param arg0: cexpr_t  @return: 0 to continue the traversal, nonzero to stop.",
"func":1
},
{
"ref":"ida_hexrays.ctree_visitor_t.leave_insn",
"url":19,
"doc":"leave_insn(self, arg0) -> int Visit a statement after having visited its children. This is a visitor function which should be overridden by a derived class to do some useful work. This visitor performs post-order traserval, i.e. an item is visited after its children. @param arg0: cinsn_t  @return: 0 to continue the traversal, nonzero to stop.",
"func":1
},
{
"ref":"ida_hexrays.ctree_visitor_t.leave_expr",
"url":19,
"doc":"leave_expr(self, arg0) -> int Visit an expression after having visited its children. This is a visitor function which should be overridden by a derived class to do some useful work. This visitor performs post-order traserval, i.e. an item is visited after its children. @param arg0: cexpr_t  @return: 0 to continue the traversal, nonzero to stop.",
"func":1
},
{
"ref":"ida_hexrays.CV_FAST",
"url":19,
"doc":"do not maintain parent information"
},
{
"ref":"ida_hexrays.CV_PRUNE",
"url":19,
"doc":"this bit is set by visit .() to prune the walk"
},
{
"ref":"ida_hexrays.CV_PARENTS",
"url":19,
"doc":"maintain parent information"
},
{
"ref":"ida_hexrays.CV_POST",
"url":19,
"doc":"call the leave .() functions"
},
{
"ref":"ida_hexrays.CV_RESTART",
"url":19,
"doc":"restart enumeration at the top expr (apply_to_exprs)"
},
{
"ref":"ida_hexrays.CV_INSNS",
"url":19,
"doc":"visit only statements, prune all expressions do not use before the final ctree maturity because expressions may contain statements at intermediate stages (see cot_insn). Otherwise you risk missing statements embedded into expressions."
},
{
"ref":"ida_hexrays.ctree_parentee_t",
"url":19,
"doc":"Proxy of C ctree_parentee_t class. __init__(self, post=False) -> ctree_parentee_t @param post: bool"
},
{
"ref":"ida_hexrays.ctree_parentee_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.ctree_parentee_t.recalc_parent_types",
"url":19,
"doc":"recalc_parent_types(self) -> bool Recalculate type of parent nodes. If a node type has been changed, the visitor must recalculate all parent types, otherwise the ctree becomes inconsistent. If during this recalculation a parent node is added/deleted, this function returns true. In this case the traversal must be stopped because the information about parent nodes is stale. @return: false-ok to continue the traversal, true-must stop.",
"func":1
},
{
"ref":"ida_hexrays.ctree_parentee_t.cv_flags",
"url":19,
"doc":"Ctree visitor property bits"
},
{
"ref":"ida_hexrays.ctree_parentee_t.maintain_parents",
"url":19,
"doc":"maintain_parents(self) -> bool Should the parent information by maintained?",
"func":1
},
{
"ref":"ida_hexrays.ctree_parentee_t.must_prune",
"url":19,
"doc":"must_prune(self) -> bool Should the traversal skip the children of the current item?",
"func":1
},
{
"ref":"ida_hexrays.ctree_parentee_t.must_restart",
"url":19,
"doc":"must_restart(self) -> bool Should the traversal restart?",
"func":1
},
{
"ref":"ida_hexrays.ctree_parentee_t.is_postorder",
"url":19,
"doc":"is_postorder(self) -> bool Should the leave .() functions be called?",
"func":1
},
{
"ref":"ida_hexrays.ctree_parentee_t.only_insns",
"url":19,
"doc":"only_insns(self) -> bool Should all expressions be automatically pruned?",
"func":1
},
{
"ref":"ida_hexrays.ctree_parentee_t.prune_now",
"url":19,
"doc":"prune_now(self) Prune children. This function may be called by a visitor() to skip all children of the current item.",
"func":1
},
{
"ref":"ida_hexrays.ctree_parentee_t.clr_prune",
"url":19,
"doc":"clr_prune(self) Do not prune children. This is an internal function, no need to call it.",
"func":1
},
{
"ref":"ida_hexrays.ctree_parentee_t.set_restart",
"url":19,
"doc":"set_restart(self) Restart the travesal. Meaningful only in apply_to_exprs()",
"func":1
},
{
"ref":"ida_hexrays.ctree_parentee_t.clr_restart",
"url":19,
"doc":"clr_restart(self) Do not restart. This is an internal function, no need to call it.",
"func":1
},
{
"ref":"ida_hexrays.ctree_parentee_t.parents",
"url":19,
"doc":"Vector of parents of the current item."
},
{
"ref":"ida_hexrays.ctree_parentee_t.bposvec",
"url":19,
"doc":"Vector of block positions. Only cit_block and cit_try parents have the corresponding element in this vector."
},
{
"ref":"ida_hexrays.ctree_parentee_t.apply_to",
"url":19,
"doc":"apply_to(self, item, parent) -> int Traverse ctree. The traversal will start at the specified item and continue until of one the visit_ .() functions return a non-zero value. @param item: (C : citem_t  ) root of the ctree to traverse @param parent: (C : citem_t  ) parent of the specified item. can be specified as nullptr. @return: 0 or a non-zero value returned by a visit_ .() function",
"func":1
},
{
"ref":"ida_hexrays.ctree_parentee_t.apply_to_exprs",
"url":19,
"doc":"apply_to_exprs(self, item, parent) -> int Traverse only expressions. The traversal will start at the specified item and continue until of one the visit_ .() functions return a non-zero value. @param item: (C : citem_t  ) root of the ctree to traverse @param parent: (C : citem_t  ) parent of the specified item. can be specified as nullptr. @return: 0 or a non-zero value returned by a visit_ .() function",
"func":1
},
{
"ref":"ida_hexrays.ctree_parentee_t.parent_expr",
"url":19,
"doc":"parent_expr(self) -> cexpr_t Get parent of the current item as an expression.",
"func":1
},
{
"ref":"ida_hexrays.ctree_parentee_t.parent_insn",
"url":19,
"doc":"parent_insn(self) -> cinsn_t Get parent of the current item as a statement.",
"func":1
},
{
"ref":"ida_hexrays.ctree_parentee_t.visit_insn",
"url":19,
"doc":"visit_insn(self, arg0) -> int Visit a statement. This is a visitor function which should be overridden by a derived class to do some useful work. This visitor performs pre-order traserval, i.e. an item is visited before its children. @param arg0: cinsn_t  @return: 0 to continue the traversal, nonzero to stop.",
"func":1
},
{
"ref":"ida_hexrays.ctree_parentee_t.visit_expr",
"url":19,
"doc":"visit_expr(self, arg0) -> int Visit an expression. This is a visitor function which should be overridden by a derived class to do some useful work. This visitor performs pre-order traserval, i.e. an item is visited before its children. @param arg0: cexpr_t  @return: 0 to continue the traversal, nonzero to stop.",
"func":1
},
{
"ref":"ida_hexrays.ctree_parentee_t.leave_insn",
"url":19,
"doc":"leave_insn(self, arg0) -> int Visit a statement after having visited its children. This is a visitor function which should be overridden by a derived class to do some useful work. This visitor performs post-order traserval, i.e. an item is visited after its children. @param arg0: cinsn_t  @return: 0 to continue the traversal, nonzero to stop.",
"func":1
},
{
"ref":"ida_hexrays.ctree_parentee_t.leave_expr",
"url":19,
"doc":"leave_expr(self, arg0) -> int Visit an expression after having visited its children. This is a visitor function which should be overridden by a derived class to do some useful work. This visitor performs post-order traserval, i.e. an item is visited after its children. @param arg0: cexpr_t  @return: 0 to continue the traversal, nonzero to stop.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_parentee_t",
"url":19,
"doc":"Proxy of C cfunc_parentee_t class. __init__(self, f, post=False) -> cfunc_parentee_t @param f: cfunc_t  @param post: bool"
},
{
"ref":"ida_hexrays.cfunc_parentee_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.cfunc_parentee_t.func",
"url":19,
"doc":"Pointer to current function."
},
{
"ref":"ida_hexrays.cfunc_parentee_t.calc_rvalue_type",
"url":19,
"doc":"calc_rvalue_type(self, target, e) -> bool Calculate rvalue type. This function tries to determine the type of the specified item based on its context. For example, if the current expression is the right side of an assignment operator, the type of its left side will be returned. This function can be used to determine the 'best' type of the specified expression. @param target: (C : tinfo_t  ) 'best' type of the expression will be returned here @param e: (C : const cexpr_t  ) expression to determine the desired type @return: false if failed",
"func":1
},
{
"ref":"ida_hexrays.cfunc_parentee_t.recalc_parent_types",
"url":19,
"doc":"recalc_parent_types(self) -> bool Recalculate type of parent nodes. If a node type has been changed, the visitor must recalculate all parent types, otherwise the ctree becomes inconsistent. If during this recalculation a parent node is added/deleted, this function returns true. In this case the traversal must be stopped because the information about parent nodes is stale. @return: false-ok to continue the traversal, true-must stop.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_parentee_t.cv_flags",
"url":19,
"doc":"Ctree visitor property bits"
},
{
"ref":"ida_hexrays.cfunc_parentee_t.maintain_parents",
"url":19,
"doc":"maintain_parents(self) -> bool Should the parent information by maintained?",
"func":1
},
{
"ref":"ida_hexrays.cfunc_parentee_t.must_prune",
"url":19,
"doc":"must_prune(self) -> bool Should the traversal skip the children of the current item?",
"func":1
},
{
"ref":"ida_hexrays.cfunc_parentee_t.must_restart",
"url":19,
"doc":"must_restart(self) -> bool Should the traversal restart?",
"func":1
},
{
"ref":"ida_hexrays.cfunc_parentee_t.is_postorder",
"url":19,
"doc":"is_postorder(self) -> bool Should the leave .() functions be called?",
"func":1
},
{
"ref":"ida_hexrays.cfunc_parentee_t.only_insns",
"url":19,
"doc":"only_insns(self) -> bool Should all expressions be automatically pruned?",
"func":1
},
{
"ref":"ida_hexrays.cfunc_parentee_t.prune_now",
"url":19,
"doc":"prune_now(self) Prune children. This function may be called by a visitor() to skip all children of the current item.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_parentee_t.clr_prune",
"url":19,
"doc":"clr_prune(self) Do not prune children. This is an internal function, no need to call it.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_parentee_t.set_restart",
"url":19,
"doc":"set_restart(self) Restart the travesal. Meaningful only in apply_to_exprs()",
"func":1
},
{
"ref":"ida_hexrays.cfunc_parentee_t.clr_restart",
"url":19,
"doc":"clr_restart(self) Do not restart. This is an internal function, no need to call it.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_parentee_t.parents",
"url":19,
"doc":"Vector of parents of the current item."
},
{
"ref":"ida_hexrays.cfunc_parentee_t.bposvec",
"url":19,
"doc":"Vector of block positions. Only cit_block and cit_try parents have the corresponding element in this vector."
},
{
"ref":"ida_hexrays.cfunc_parentee_t.apply_to",
"url":19,
"doc":"apply_to(self, item, parent) -> int Traverse ctree. The traversal will start at the specified item and continue until of one the visit_ .() functions return a non-zero value. @param item: (C : citem_t  ) root of the ctree to traverse @param parent: (C : citem_t  ) parent of the specified item. can be specified as nullptr. @return: 0 or a non-zero value returned by a visit_ .() function",
"func":1
},
{
"ref":"ida_hexrays.cfunc_parentee_t.apply_to_exprs",
"url":19,
"doc":"apply_to_exprs(self, item, parent) -> int Traverse only expressions. The traversal will start at the specified item and continue until of one the visit_ .() functions return a non-zero value. @param item: (C : citem_t  ) root of the ctree to traverse @param parent: (C : citem_t  ) parent of the specified item. can be specified as nullptr. @return: 0 or a non-zero value returned by a visit_ .() function",
"func":1
},
{
"ref":"ida_hexrays.cfunc_parentee_t.parent_expr",
"url":19,
"doc":"parent_expr(self) -> cexpr_t Get parent of the current item as an expression.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_parentee_t.parent_insn",
"url":19,
"doc":"parent_insn(self) -> cinsn_t Get parent of the current item as a statement.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_parentee_t.visit_insn",
"url":19,
"doc":"visit_insn(self, arg0) -> int Visit a statement. This is a visitor function which should be overridden by a derived class to do some useful work. This visitor performs pre-order traserval, i.e. an item is visited before its children. @param arg0: cinsn_t  @return: 0 to continue the traversal, nonzero to stop.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_parentee_t.visit_expr",
"url":19,
"doc":"visit_expr(self, arg0) -> int Visit an expression. This is a visitor function which should be overridden by a derived class to do some useful work. This visitor performs pre-order traserval, i.e. an item is visited before its children. @param arg0: cexpr_t  @return: 0 to continue the traversal, nonzero to stop.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_parentee_t.leave_insn",
"url":19,
"doc":"leave_insn(self, arg0) -> int Visit a statement after having visited its children. This is a visitor function which should be overridden by a derived class to do some useful work. This visitor performs post-order traserval, i.e. an item is visited after its children. @param arg0: cinsn_t  @return: 0 to continue the traversal, nonzero to stop.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_parentee_t.leave_expr",
"url":19,
"doc":"leave_expr(self, arg0) -> int Visit an expression after having visited its children. This is a visitor function which should be overridden by a derived class to do some useful work. This visitor performs post-order traserval, i.e. an item is visited after its children. @param arg0: cexpr_t  @return: 0 to continue the traversal, nonzero to stop.",
"func":1
},
{
"ref":"ida_hexrays.ctree_anchor_t",
"url":19,
"doc":"Proxy of C ctree_anchor_t class. __init__(self) -> ctree_anchor_t"
},
{
"ref":"ida_hexrays.ctree_anchor_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.ctree_anchor_t.value",
"url":19,
"doc":"value"
},
{
"ref":"ida_hexrays.ctree_anchor_t.get_index",
"url":19,
"doc":"get_index(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.ctree_anchor_t.get_itp",
"url":19,
"doc":"get_itp(self) -> item_preciser_t",
"func":1
},
{
"ref":"ida_hexrays.ctree_anchor_t.is_valid_anchor",
"url":19,
"doc":"is_valid_anchor(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.ctree_anchor_t.is_citem_anchor",
"url":19,
"doc":"is_citem_anchor(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.ctree_anchor_t.is_lvar_anchor",
"url":19,
"doc":"is_lvar_anchor(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.ctree_anchor_t.is_itp_anchor",
"url":19,
"doc":"is_itp_anchor(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.ctree_anchor_t.is_blkcmt_anchor",
"url":19,
"doc":"is_blkcmt_anchor(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.ANCHOR_CITEM",
"url":19,
"doc":"c-tree item"
},
{
"ref":"ida_hexrays.ANCHOR_LVAR",
"url":19,
"doc":"declaration of local variable"
},
{
"ref":"ida_hexrays.ANCHOR_ITP",
"url":19,
"doc":"item type preciser"
},
{
"ref":"ida_hexrays.ANCHOR_BLKCMT",
"url":19,
"doc":"block comment (for ctree items)"
},
{
"ref":"ida_hexrays.VDI_NONE",
"url":19,
"doc":"undefined"
},
{
"ref":"ida_hexrays.VDI_EXPR",
"url":19,
"doc":"c-tree item"
},
{
"ref":"ida_hexrays.VDI_LVAR",
"url":19,
"doc":"declaration of local variable"
},
{
"ref":"ida_hexrays.VDI_FUNC",
"url":19,
"doc":"the function itself (the very first line with the function prototype)"
},
{
"ref":"ida_hexrays.VDI_TAIL",
"url":19,
"doc":"cursor is at (beyond) the line end (commentable line)"
},
{
"ref":"ida_hexrays.ctree_item_t",
"url":19,
"doc":"Proxy of C ctree_item_t class. __init__(self) -> ctree_item_t"
},
{
"ref":"ida_hexrays.ctree_item_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.ctree_item_t.citype",
"url":19,
"doc":"Item type."
},
{
"ref":"ida_hexrays.ctree_item_t.it",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.ctree_item_t.e",
"url":19,
"doc":"VDI_EXPR: Expression."
},
{
"ref":"ida_hexrays.ctree_item_t.i",
"url":19,
"doc":"VDI_EXPR: Statement."
},
{
"ref":"ida_hexrays.ctree_item_t.l",
"url":19,
"doc":"VDI_LVAR: Local variable."
},
{
"ref":"ida_hexrays.ctree_item_t.f",
"url":19,
"doc":"VDI_FUNC: Function."
},
{
"ref":"ida_hexrays.ctree_item_t.get_udm",
"url":19,
"doc":"get_udm(self, udm=None, parent=None, p_offset=None) -> int Get type of a structure field. If the current item is a structure/union field, this function will return information about it. @param udm: (C : udm_t  ) pointer to buffer for the udt member info. @param parent: (C : tinfo_t  ) pointer to buffer for the struct/union type. @param p_offset: (C : uint64  ) pointer to the offset in bits inside udt. @return: member index or -1 if failed Both output parameters can be nullptr.",
"func":1
},
{
"ref":"ida_hexrays.ctree_item_t.get_edm",
"url":19,
"doc":"get_edm(self, parent) -> int Get type of an enum member. If the current item is a symbolic constant, this function will return information about it. @param parent: (C : tinfo_t  ) pointer to buffer for the enum type. @return: member index or -1 if failed",
"func":1
},
{
"ref":"ida_hexrays.ctree_item_t.get_lvar",
"url":19,
"doc":"get_lvar(self) -> lvar_t Get pointer to local variable. If the current item is a local variable, this function will return pointer to its definition. @return: nullptr if failed",
"func":1
},
{
"ref":"ida_hexrays.ctree_item_t.get_ea",
"url":19,
"doc":"get_ea(self) -> ea_t Get address of the current item. Each ctree item has an address. @return: BADADDR if failed",
"func":1
},
{
"ref":"ida_hexrays.ctree_item_t.get_label_num",
"url":19,
"doc":"get_label_num(self, gln_flags) -> int Get label number of the current item. @param gln_flags: (C : int) Combination of get_label_num control bits @return: -1 if failed or no label",
"func":1
},
{
"ref":"ida_hexrays.ctree_item_t.is_citem",
"url":19,
"doc":"is_citem(self) -> bool Is the current item is a ctree item?",
"func":1
},
{
"ref":"ida_hexrays.ctree_item_t.dstr",
"url":19,
"doc":"dstr(self) -> char const  ",
"func":1
},
{
"ref":"ida_hexrays.ctree_item_t.loc",
"url":19,
"doc":"VDI_TAIL: Line tail."
},
{
"ref":"ida_hexrays.GLN_CURRENT",
"url":19,
"doc":"get label of the current item"
},
{
"ref":"ida_hexrays.GLN_GOTO_TARGET",
"url":19,
"doc":"get goto target"
},
{
"ref":"ida_hexrays.GLN_ALL",
"url":19,
"doc":"get both"
},
{
"ref":"ida_hexrays.FORBID_UNUSED_LABELS",
"url":19,
"doc":"Unused labels cause interr."
},
{
"ref":"ida_hexrays.ALLOW_UNUSED_LABELS",
"url":19,
"doc":"Unused labels are permitted."
},
{
"ref":"ida_hexrays.save_user_labels",
"url":19,
"doc":"save_user_labels(func_ea, user_labels, func=None) Save user defined labels into the database. @param func_ea: (C : ea_t) the entry address of the function, ignored if FUNC != nullptr @param user_labels: (C : const user_labels_t  ) collection of user defined labels @param func: (C : const cfunc_t  ) pointer to current function, if FUNC != nullptr, then save labels using a more stable method that preserves them even when the decompiler output drastically changes",
"func":1
},
{
"ref":"ida_hexrays.save_user_cmts",
"url":19,
"doc":"save_user_cmts(func_ea, user_cmts) Save user defined comments into the database. @param func_ea: (C : ea_t) the entry address of the function @param user_cmts: (C : const user_cmts_t  ) collection of user defined comments",
"func":1
},
{
"ref":"ida_hexrays.save_user_numforms",
"url":19,
"doc":"save_user_numforms(func_ea, numforms) Save user defined number formats into the database. @param func_ea: (C : ea_t) the entry address of the function @param numforms: (C : const user_numforms_t  ) collection of user defined comments",
"func":1
},
{
"ref":"ida_hexrays.save_user_iflags",
"url":19,
"doc":"save_user_iflags(func_ea, iflags) Save user defined citem iflags into the database. @param func_ea: (C : ea_t) the entry address of the function @param iflags: (C : const user_iflags_t  ) collection of user defined citem iflags",
"func":1
},
{
"ref":"ida_hexrays.save_user_unions",
"url":19,
"doc":"save_user_unions(func_ea, unions) Save user defined union field selections into the database. @param func_ea: (C : ea_t) the entry address of the function @param unions: (C : const user_unions_t  ) collection of union field selections",
"func":1
},
{
"ref":"ida_hexrays.restore_user_labels",
"url":19,
"doc":"restore_user_labels(func_ea, func=None) -> user_labels_t Restore user defined labels from the database. @param func_ea: (C : ea_t) the entry address of the function, ignored if FUNC != nullptr @param func: (C : const cfunc_t  ) pointer to current function @return: collection of user defined labels. The returned object must be deleted by the caller using delete_user_labels()",
"func":1
},
{
"ref":"ida_hexrays.restore_user_cmts",
"url":19,
"doc":"restore_user_cmts(func_ea) -> user_cmts_t Restore user defined comments from the database. @param func_ea: (C : ea_t) the entry address of the function @return: collection of user defined comments. The returned object must be deleted by the caller using delete_user_cmts()",
"func":1
},
{
"ref":"ida_hexrays.restore_user_numforms",
"url":19,
"doc":"restore_user_numforms(func_ea) -> user_numforms_t Restore user defined number formats from the database. @param func_ea: (C : ea_t) the entry address of the function @return: collection of user defined number formats. The returned object must be deleted by the caller using delete_user_numforms()",
"func":1
},
{
"ref":"ida_hexrays.restore_user_iflags",
"url":19,
"doc":"restore_user_iflags(func_ea) -> user_iflags_t Restore user defined citem iflags from the database. @param func_ea: (C : ea_t) the entry address of the function @return: collection of user defined iflags. The returned object must be deleted by the caller using delete_user_iflags()",
"func":1
},
{
"ref":"ida_hexrays.restore_user_unions",
"url":19,
"doc":"restore_user_unions(func_ea) -> user_unions_t Restore user defined union field selections from the database. @param func_ea: (C : ea_t) the entry address of the function @return: collection of union field selections The returned object must be deleted by the caller using delete_user_unions()",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t",
"url":19,
"doc":"Proxy of C cfunc_t class."
},
{
"ref":"ida_hexrays.cfunc_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.cfunc_t.entry_ea",
"url":19,
"doc":"function entry address"
},
{
"ref":"ida_hexrays.cfunc_t.mba",
"url":19,
"doc":"underlying microcode"
},
{
"ref":"ida_hexrays.cfunc_t.body",
"url":19,
"doc":"function body, must be a block"
},
{
"ref":"ida_hexrays.cfunc_t.argidx",
"url":19,
"doc":"list of arguments (indexes into vars)"
},
{
"ref":"ida_hexrays.cfunc_t.maturity",
"url":19,
"doc":"maturity level"
},
{
"ref":"ida_hexrays.cfunc_t.user_labels",
"url":19,
"doc":"user-defined labels."
},
{
"ref":"ida_hexrays.cfunc_t.user_cmts",
"url":19,
"doc":"user-defined comments."
},
{
"ref":"ida_hexrays.cfunc_t.numforms",
"url":19,
"doc":"user-defined number formats."
},
{
"ref":"ida_hexrays.cfunc_t.user_iflags",
"url":19,
"doc":"user-defined item flags ctree item iflags bits"
},
{
"ref":"ida_hexrays.cfunc_t.user_unions",
"url":19,
"doc":"user-defined union field selections."
},
{
"ref":"ida_hexrays.cfunc_t.refcnt",
"url":19,
"doc":"reference count to this object. use cfuncptr_t"
},
{
"ref":"ida_hexrays.cfunc_t.statebits",
"url":19,
"doc":"current cfunc_t state. see cfunc state bits"
},
{
"ref":"ida_hexrays.cfunc_t.hdrlines",
"url":19,
"doc":"number of lines in the declaration area"
},
{
"ref":"ida_hexrays.cfunc_t.treeitems",
"url":19,
"doc":"vector of pointers to citem_t objects (nodes constituting the ctree)"
},
{
"ref":"ida_hexrays.cfunc_t.release",
"url":19,
"doc":"release(self)",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.build_c_tree",
"url":19,
"doc":"build_c_tree(self) Generate the function body. This function (re)generates the function body from the underlying microcode.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.verify",
"url":19,
"doc":"verify(self, aul, even_without_debugger) Verify the ctree. This function verifies the ctree. If the ctree is malformed, an internal error is generated. Use it to verify the ctree after your modifications. @param aul: (C : allow_unused_labels_t) Are unused labels acceptable? @param even_without_debugger: (C : bool) if false and there is no debugger, the verification will be skipped",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.print_dcl",
"url":19,
"doc":"print_dcl(self) Print function prototype.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.print_func",
"url":19,
"doc":"print_func(self, vp) Print function text. @param vp: (C : vc_printer_t &) printer helper class to receive the generated text.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.get_func_type",
"url":19,
"doc":"get_func_type(self, type) -> bool Get the function type. @param type: (C : tinfo_t  ) variable where the function type is returned @return: false if failure",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.get_lvars",
"url":19,
"doc":"get_lvars(self) -> lvars_t Get vector of local variables. @return: pointer to the vector of local variables. If you modify this vector, the ctree must be regenerated in order to have correct cast operators. Use build_c_tree() for that. Removing lvars should be done carefully: all references in ctree and microcode must be corrected after that.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.get_stkoff_delta",
"url":19,
"doc":"get_stkoff_delta(self) -> sval_t Get stack offset delta. The local variable stack offsets retrieved by v.location.stkoff() should be adjusted before being used as stack frame offsets in IDA. @return: the delta to apply. example: ida_stkoff = v.location.stkoff() - f->get_stkoff_delta()",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.find_label",
"url":19,
"doc":"find_label(self, label) -> citem_t Find the label. @param label: (C : int) @return: pointer to the ctree item with the specified label number.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.remove_unused_labels",
"url":19,
"doc":"remove_unused_labels(self) Remove unused labels. This function checks what labels are really used by the function and removes the unused ones. You must call it after deleting a goto statement.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.get_user_cmt",
"url":19,
"doc":"get_user_cmt(self, loc, rt) -> char const  Retrieve a user defined comment. @param loc: (C : const treeloc_t &) ctree location @param rt: (C : cmt_retrieval_type_t) should already retrieved comments retrieved again? @return: pointer to the comment string or nullptr",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.set_user_cmt",
"url":19,
"doc":"set_user_cmt(self, loc, cmt) Set a user defined comment. This function stores the specified comment in the cfunc_t structure. The save_user_cmts() function must be called after it. @param loc: (C : const treeloc_t &) ctree location @param cmt: (C : const char  ) new comment. if empty or nullptr, then an existing comment is deleted.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.get_user_iflags",
"url":19,
"doc":"get_user_iflags(self, loc) -> int32 Retrieve citem iflags. @param loc: (C : const citem_locator_t &) citem locator @return: ctree item iflags bits or 0",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.set_user_iflags",
"url":19,
"doc":"set_user_iflags(self, loc, iflags) Set citem iflags. @param loc: (C : const citem_locator_t &) citem locator @param iflags: (C : int32) new iflags",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.has_orphan_cmts",
"url":19,
"doc":"has_orphan_cmts(self) -> bool Check if there are orphan comments.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.del_orphan_cmts",
"url":19,
"doc":"del_orphan_cmts(self) -> int Delete all orphan comments. The save_user_cmts() function must be called after this call.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.get_user_union_selection",
"url":19,
"doc":"get_user_union_selection(self, ea, path) -> bool Retrieve a user defined union field selection. @param ea: (C : ea_t) address @param path: (C : intvec_t  ) out: path describing the union selection. @return: pointer to the path or nullptr",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.set_user_union_selection",
"url":19,
"doc":"set_user_union_selection(self, ea, path) Set a union field selection. The save_user_unions() function must be called after calling this function. @param ea: (C : ea_t) address @param path: (C : const intvec_t &) in: path describing the union selection.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.save_user_labels",
"url":19,
"doc":"save_user_labels(self) Save user-defined labels into the database.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.save_user_cmts",
"url":19,
"doc":"save_user_cmts(self) Save user-defined comments into the database.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.save_user_numforms",
"url":19,
"doc":"save_user_numforms(self) Save user-defined number formats into the database.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.save_user_iflags",
"url":19,
"doc":"save_user_iflags(self) Save user-defined iflags into the database.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.save_user_unions",
"url":19,
"doc":"save_user_unions(self) Save user-defined union field selections into the database.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.get_line_item",
"url":19,
"doc":"get_line_item(self, line, x, is_ctree_line, phead, pitem, ptail) -> bool Get ctree item for the specified cursor position. @param line: (C : const char  ) line of decompilation text (element of sv) @param x: (C : int) x cursor coordinate in the line @param is_ctree_line: (C : bool) does the line belong to statement area? (if not, it is assumed to belong to the declaration area) @param phead: (C : ctree_item_t  ) ptr to the first item on the line (used to attach block comments). May be nullptr @param pitem: (C : ctree_item_t  ) ptr to the current item. May be nullptr @param ptail: (C : ctree_item_t  ) ptr to the last item on the line (used to attach indented comments). May be nullptr @see: vdui_t get_current_item() @return: false if failed to get the current item",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.get_warnings",
"url":19,
"doc":"get_warnings(self) -> hexwarns_t Get information about decompilation warnings. @return: reference to the vector of warnings",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.get_eamap",
"url":19,
"doc":"get_eamap(self) -> eamap_t Get pointer to ea->insn map. This function initializes eamap if not done yet.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.get_boundaries",
"url":19,
"doc":"get_boundaries(self) -> boundaries_t Get pointer to map of instruction boundaries. This function initializes the boundary map if not done yet.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.get_pseudocode",
"url":19,
"doc":"get_pseudocode(self) -> strvec_t Get pointer to decompilation output: the pseudocode. This function generates pseudocode if not done yet.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.refresh_func_ctext",
"url":19,
"doc":"refresh_func_ctext(self) Refresh ctext after a ctree modification. This function informs the decompiler that ctree (body) have been modified and ctext (sv) does not correspond to it anymore. It also refreshes the pseudocode windows if there is any.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.gather_derefs",
"url":19,
"doc":"gather_derefs(self, ci, udm=None) -> bool @param ci: ctree_item_t const & @param udm: udt_type_data_t  ",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.locked",
"url":19,
"doc":"locked(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.find_item_coords",
"url":19,
"doc":"find_item_coords(self, item, px, py) -> bool @param item: citem_t const  @param px: int  @param py: int  find_item_coords(self, item) -> PyObject  @param item: citem_t const  ",
"func":1
},
{
"ref":"ida_hexrays.cfunc_t.type",
"url":19,
"doc":"Get the function's return type tinfo_t object."
},
{
"ref":"ida_hexrays.cfunc_t.arguments",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.cfunc_t.lvars",
"url":19,
"doc":"get_lvars(self) -> lvars_t Get vector of local variables. @return: pointer to the vector of local variables. If you modify this vector, the ctree must be regenerated in order to have correct cast operators. Use build_c_tree() for that. Removing lvars should be done carefully: all references in ctree and microcode must be corrected after that."
},
{
"ref":"ida_hexrays.cfunc_t.warnings",
"url":19,
"doc":"get_warnings(self) -> hexwarns_t Get information about decompilation warnings. @return: reference to the vector of warnings"
},
{
"ref":"ida_hexrays.cfunc_t.pseudocode",
"url":19,
"doc":"get_pseudocode(self) -> strvec_t Get pointer to decompilation output: the pseudocode. This function generates pseudocode if not done yet."
},
{
"ref":"ida_hexrays.cfunc_t.eamap",
"url":19,
"doc":"get_eamap(self) -> eamap_t Get pointer to ea->insn map. This function initializes eamap if not done yet."
},
{
"ref":"ida_hexrays.cfunc_t.boundaries",
"url":19,
"doc":"get_boundaries(self) -> boundaries_t Get pointer to map of instruction boundaries. This function initializes the boundary map if not done yet."
},
{
"ref":"ida_hexrays.CIT_COLLAPSED",
"url":19,
"doc":"display ctree item in collapsed form"
},
{
"ref":"ida_hexrays.CFS_BOUNDS",
"url":19,
"doc":"'eamap' and 'boundaries' are ready"
},
{
"ref":"ida_hexrays.CFS_TEXT",
"url":19,
"doc":"'sv' is ready (and hdrlines)"
},
{
"ref":"ida_hexrays.CFS_LVARS_HIDDEN",
"url":19,
"doc":"local variable definitions are collapsed"
},
{
"ref":"ida_hexrays.CFS_LOCKED",
"url":19,
"doc":"cfunc is temporarily locked"
},
{
"ref":"ida_hexrays.DECOMP_NO_WAIT",
"url":19,
"doc":"do not display waitbox"
},
{
"ref":"ida_hexrays.DECOMP_NO_CACHE",
"url":19,
"doc":"do not use decompilation cache (snippets are never cached)"
},
{
"ref":"ida_hexrays.DECOMP_NO_FRAME",
"url":19,
"doc":"do not use function frame info (only snippet mode)"
},
{
"ref":"ida_hexrays.DECOMP_WARNINGS",
"url":19,
"doc":"display warnings in the output window"
},
{
"ref":"ida_hexrays.DECOMP_ALL_BLKS",
"url":19,
"doc":"generate microcode for unreachable blocks"
},
{
"ref":"ida_hexrays.DECOMP_NO_HIDE",
"url":19,
"doc":"do not close display waitbox. see close_hexrays_waitboxes()"
},
{
"ref":"ida_hexrays.DECOMP_NO_XREFS",
"url":19,
"doc":"Obsolete. Use DECOMP_GXREFS_NOUPD."
},
{
"ref":"ida_hexrays.DECOMP_GXREFS_DEFLT",
"url":19,
"doc":"the default behavior: do not update the global xrefs cache upon decompile() call, but when the pseudocode text is generated (e.g., through cfunc_t.get_pseudocode( "
},
{
"ref":"ida_hexrays.DECOMP_GXREFS_NOUPD",
"url":19,
"doc":"do not update the global xrefs cache"
},
{
"ref":"ida_hexrays.DECOMP_GXREFS_FORCE",
"url":19,
"doc":"update the global xrefs cache immediately"
},
{
"ref":"ida_hexrays.DECOMP_VOID_MBA",
"url":19,
"doc":"return empty mba object (to be used with gen_microcode)"
},
{
"ref":"ida_hexrays.close_hexrays_waitbox",
"url":19,
"doc":"close_hexrays_waitbox() Close the waitbox displayed by the decompiler. Useful if DECOMP_NO_HIDE was used during decompilation.",
"func":1
},
{
"ref":"ida_hexrays.decompile",
"url":19,
"doc":"Decompile a function. @param ea an address belonging to the function, or an ida_funcs.func_t object @param hf extended error information (if failed) @param flags decomp_flags bitwise combination of  DECOMP_ . bits @return the decompilation result (a  ida_hexrays.cfunc_t wrapper), or None",
"func":1
},
{
"ref":"ida_hexrays.decompile_func",
"url":19,
"doc":"decompile_func(pfn, hf=None, decomp_flags=0) -> cfuncptr_t Decompile a function. Multiple decompilations of the same function return the same object. @param pfn: (C : func_t  ) pointer to function to decompile @param hf: (C : hexrays_failure_t  ) extended error information (if failed) @param decomp_flags: (C : int) bitwise combination of decompile() flags . bits @return: pointer to the decompilation result (a reference counted pointer). nullptr if failed.",
"func":1
},
{
"ref":"ida_hexrays.gen_microcode",
"url":19,
"doc":"gen_microcode(mbr, hf=None, retlist=None, decomp_flags=0, reqmat=MMAT_GLBOPT3) -> mba_t Generate microcode of an arbitrary code snippet @param mbr: (C : const mba_ranges_t &) snippet ranges @param hf: (C : hexrays_failure_t  ) extended error information (if failed) @param retlist: (C : const mlist_t  ) list of registers the snippet returns @param decomp_flags: (C : int) bitwise combination of decompile() flags . bits @param reqmat: (C : mba_maturity_t) required microcode maturity @return: pointer to the microcode, nullptr if failed.",
"func":1
},
{
"ref":"ida_hexrays.create_empty_mba",
"url":19,
"doc":"create_empty_mba(mbr, hf=None) -> mba_t Create an empty microcode object. @param mbr: (C : const mba_ranges_t &) mba_ranges_t const & @param hf: (C : hexrays_failure_t  )",
"func":1
},
{
"ref":"ida_hexrays.create_cfunc",
"url":19,
"doc":"create_cfunc(mba) -> cfuncptr_t Create a new cfunc_t object. @param mba: (C : mba_t  ) microcode object. After creating the cfunc object it takes the ownership of MBA.",
"func":1
},
{
"ref":"ida_hexrays.mark_cfunc_dirty",
"url":19,
"doc":"mark_cfunc_dirty(ea, close_views=False) -> bool Flush the cached decompilation results. Erases a cache entry for the specified function. @param ea: (C : ea_t) function to erase from the cache @param close_views: (C : bool) close pseudocode windows that show the function @return: if a cache entry existed.",
"func":1
},
{
"ref":"ida_hexrays.clear_cached_cfuncs",
"url":19,
"doc":"clear_cached_cfuncs() Flush all cached decompilation results.",
"func":1
},
{
"ref":"ida_hexrays.has_cached_cfunc",
"url":19,
"doc":"has_cached_cfunc(ea) -> bool Do we have a cached decompilation result for 'ea'? @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_hexrays.get_ctype_name",
"url":19,
"doc":"get_ctype_name(op) -> char const  @param op: enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.create_field_name",
"url":19,
"doc":"create_field_name(type, offset=BADADDR) -> qstring @param type: tinfo_t const & @param offset: uval_t",
"func":1
},
{
"ref":"ida_hexrays.hxe_flowchart",
"url":19,
"doc":"Flowchart has been generated. @param fc: (qflow_chart_t  ) @param mba: (mba_t  )"
},
{
"ref":"ida_hexrays.hxe_stkpnts",
"url":19,
"doc":"SP change points have been calculated. @param mba: (mba_t  ) @param stkpnts: (stkpnts_t  ) @return: Microcode error codes code This event is generated for each inlined range as well."
},
{
"ref":"ida_hexrays.hxe_prolog",
"url":19,
"doc":"Prolog analysis has been finished. @param mba: (mba_t  ) @param fc: (qflow_chart_t  ) @param reachable_blocks: (bitset_t  ) @param decomp_flags: (int) @return: Microcode error codes code This event is generated for each inlined range as well."
},
{
"ref":"ida_hexrays.hxe_microcode",
"url":19,
"doc":"Microcode has been generated. @param mba: (mba_t  ) @return: Microcode error codes code"
},
{
"ref":"ida_hexrays.hxe_preoptimized",
"url":19,
"doc":"Microcode has been preoptimized. @param mba: (mba_t  ) @return: Microcode error codes code"
},
{
"ref":"ida_hexrays.hxe_locopt",
"url":19,
"doc":"Basic block level optimization has been finished. @param mba: (mba_t  ) @return: Microcode error codes code"
},
{
"ref":"ida_hexrays.hxe_prealloc",
"url":19,
"doc":"Local variables: preallocation step begins. @param mba: (mba_t  ) This event may occur several times. Should return: 1 if modified microcode Negative values are Microcode error codes error codes"
},
{
"ref":"ida_hexrays.hxe_glbopt",
"url":19,
"doc":"Global optimization has been finished. If microcode is modified, MERR_LOOP must be returned. It will cause a complete restart of the optimization. @param mba: (mba_t  ) @return: Microcode error codes code"
},
{
"ref":"ida_hexrays.hxe_pre_structural",
"url":19,
"doc":"Structure analysis is starting. @param ct: (control_graph_t  ) in/out: control graph @param cfunc: (cfunc_t  ) in: the current function @param g: (const simple_graph_t  ) in: control flow graph @return: Microcode error codes code; MERR_BLOCK means that the analysis has been performed by a plugin"
},
{
"ref":"ida_hexrays.hxe_structural",
"url":19,
"doc":"Structural analysis has been finished. @param ct: (control_graph_t  )"
},
{
"ref":"ida_hexrays.hxe_maturity",
"url":19,
"doc":"Ctree maturity level is being changed. @param cfunc: (cfunc_t  ) @param new_maturity: (ctree_maturity_t)"
},
{
"ref":"ida_hexrays.hxe_interr",
"url":19,
"doc":"Internal error has occurred. @param errcode: (int )"
},
{
"ref":"ida_hexrays.hxe_combine",
"url":19,
"doc":"Trying to combine instructions of basic block. @param blk: (mblock_t  ) @param insn: (minsn_t  ) Should return: 1 if combined the current instruction with a preceding one -1 if the instruction should not be combined 0 else"
},
{
"ref":"ida_hexrays.hxe_print_func",
"url":19,
"doc":"Printing ctree and generating text. @param cfunc: (cfunc_t  ) @param vp: (vc_printer_t  ) Returns: 1 if text has been generated by the plugin It is forbidden to modify ctree at this event."
},
{
"ref":"ida_hexrays.hxe_func_printed",
"url":19,
"doc":"Function text has been generated. Plugins may modify the text in cfunc_t sv. The text uses regular color codes (see lines.hpp) COLOR_ADDR is used to store pointers to ctree items. @param cfunc: (cfunc_t  )"
},
{
"ref":"ida_hexrays.hxe_resolve_stkaddrs",
"url":19,
"doc":"The optimizer is about to resolve stack addresses. @param mba: (mba_t  )"
},
{
"ref":"ida_hexrays.hxe_build_callinfo",
"url":19,
"doc":"Analyzing a call instruction. @param blk: (mblock_t  ) blk->tail is the call. @param type: (tinfo_t  ) buffer for the output type. @param callinfo: (mcallinfo_t  ) prepared callinfo. The plugin should either specify the function type, either allocate and return a new mcallinfo_t object."
},
{
"ref":"ida_hexrays.hxe_callinfo_built",
"url":19,
"doc":"A call instruction has been anallyzed. @param blk: (mblock_t  ) blk->tail is the call."
},
{
"ref":"ida_hexrays.hxe_calls_done",
"url":19,
"doc":"All calls have been analyzed. @param mba: (mba_t  ) This event is generated immediately after analyzing all calls, before any optimizitions, call unmerging and block merging."
},
{
"ref":"ida_hexrays.hxe_begin_inlining",
"url":19,
"doc":"Starting to inline outlined functions. @param cdg: (codegen_t  ) @param decomp_flags: (int) @return: Microcode error codes code This is an opportunity to inline other ranges."
},
{
"ref":"ida_hexrays.hxe_inlining_func",
"url":19,
"doc":"A set of ranges is going to be inlined. @param cdg: (codegen_t  ) @param blk: (int) the block containing call/jump to inline @param mbr: (mba_ranges_t  ) the range to inline"
},
{
"ref":"ida_hexrays.hxe_inlined_func",
"url":19,
"doc":"A set of ranges got inlined. @param cdg: (codegen_t  ) @param blk: (int) the block containing call/jump to inline @param mbr: (mba_ranges_t  ) the range to inline @param i1: (int) blknum of the first inlined block @param i2: (int) blknum of the last inlined block (excluded)"
},
{
"ref":"ida_hexrays.hxe_collect_warnings",
"url":19,
"doc":"Collect warning messages from plugins. These warnings will be displayed at the function header, after the user-defined comments. @param warnings: (qstrvec_t  ) @param cfunc: (cfunc_t  )"
},
{
"ref":"ida_hexrays.hxe_open_pseudocode",
"url":19,
"doc":"New pseudocode view has been opened. @param vu: (vdui_t  )"
},
{
"ref":"ida_hexrays.hxe_switch_pseudocode",
"url":19,
"doc":"Existing pseudocode view has been reloaded with a new function. Its text has not been refreshed yet, only cfunc and mba pointers are ready. @param vu: (vdui_t  )"
},
{
"ref":"ida_hexrays.hxe_refresh_pseudocode",
"url":19,
"doc":"Existing pseudocode text has been refreshed. Adding/removing pseudocode lines is forbidden in this event. @param vu: (vdui_t  ) See also hxe_text_ready, which happens earlier"
},
{
"ref":"ida_hexrays.hxe_close_pseudocode",
"url":19,
"doc":"Pseudocode view is being closed. @param vu: (vdui_t  )"
},
{
"ref":"ida_hexrays.hxe_keyboard",
"url":19,
"doc":"Keyboard has been hit. @param vu: (vdui_t  ) @param key_code: (int) VK_ . @param shift_state: (int) Should return: 1 if the event has been handled"
},
{
"ref":"ida_hexrays.hxe_right_click",
"url":19,
"doc":"Mouse right click. Use hxe_populating_popup instead, in case you want to add items in the popup menu. @param vu: (vdui_t  )"
},
{
"ref":"ida_hexrays.hxe_double_click",
"url":19,
"doc":"Mouse double click. @param vu: (vdui_t  ) @param shift_state: (int) Should return: 1 if the event has been handled"
},
{
"ref":"ida_hexrays.hxe_curpos",
"url":19,
"doc":"Current cursor position has been changed. (for example, by left-clicking or using keyboard) @param vu: (vdui_t  )"
},
{
"ref":"ida_hexrays.hxe_create_hint",
"url":19,
"doc":"Create a hint for the current item. @see: ui_get_custom_viewer_hint @param vu: (vdui_t  ) @param hint: (qstring  ) @param important_lines: (int  ) Possible return values: @retval 0: continue collecting hints with other subscribers @retval 1: stop collecting hints"
},
{
"ref":"ida_hexrays.hxe_text_ready",
"url":19,
"doc":"Decompiled text is ready. @param vu: (vdui_t  ) This event can be used to modify the output text (sv). Obsolete. Please use hxe_func_printed instead."
},
{
"ref":"ida_hexrays.hxe_populating_popup",
"url":19,
"doc":"Populating popup menu. We can add menu items now. @param widget: (TWidget  ) @param popup_handle: (TPopupMenu  ) @param vu: (vdui_t  )"
},
{
"ref":"ida_hexrays.lxe_lvar_name_changed",
"url":19,
"doc":"Local variable got renamed. @param vu: (vdui_t  ) @param v: (lvar_t  ) @param name: (const char  ) @param is_user_name: (bool) Please note that it is possible to read/write user settings for lvars directly from the idb."
},
{
"ref":"ida_hexrays.lxe_lvar_type_changed",
"url":19,
"doc":"Local variable type got changed. @param vu: (vdui_t  ) @param v: (lvar_t  ) @param tinfo: (const tinfo_t  ) Please note that it is possible to read/write user settings for lvars directly from the idb."
},
{
"ref":"ida_hexrays.lxe_lvar_cmt_changed",
"url":19,
"doc":"Local variable comment got changed. @param vu: (vdui_t  ) @param v: (lvar_t  ) @param cmt: (const char  ) Please note that it is possible to read/write user settings for lvars directly from the idb."
},
{
"ref":"ida_hexrays.lxe_lvar_mapping_changed",
"url":19,
"doc":"Local variable mapping got changed. @param vu: (vdui_t  ) @param from: (lvar_t  ) @param to: (lvar_t  ) Please note that it is possible to read/write user settings for lvars directly from the idb."
},
{
"ref":"ida_hexrays.hxe_cmt_changed",
"url":19,
"doc":"Comment got changed. @param cfunc: (cfunc_t  ) @param loc: (const treeloc_t  ) @param cmt: (const char  )"
},
{
"ref":"ida_hexrays.USE_KEYBOARD",
"url":19,
"doc":"Keyboard."
},
{
"ref":"ida_hexrays.USE_MOUSE",
"url":19,
"doc":"Mouse."
},
{
"ref":"ida_hexrays.ctext_position_t",
"url":19,
"doc":"Proxy of C ctext_position_t class. __init__(self, _lnnum=-1, _x=0, _y=0) -> ctext_position_t @param _lnnum: int @param _x: int @param _y: int"
},
{
"ref":"ida_hexrays.ctext_position_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.ctext_position_t.lnnum",
"url":19,
"doc":"Line number."
},
{
"ref":"ida_hexrays.ctext_position_t.x",
"url":19,
"doc":"x coordinate of the cursor within the window"
},
{
"ref":"ida_hexrays.ctext_position_t.y",
"url":19,
"doc":"y coordinate of the cursor within the window"
},
{
"ref":"ida_hexrays.ctext_position_t.in_ctree",
"url":19,
"doc":"in_ctree(self, hdrlines) -> bool Is the cursor in the variable/type declaration area? @param hdrlines: (C : int) Number of lines of the declaration area",
"func":1
},
{
"ref":"ida_hexrays.ctext_position_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: ctext_position_t const &",
"func":1
},
{
"ref":"ida_hexrays.history_item_t",
"url":19,
"doc":"Proxy of C history_item_t class. __init__(self, fea=BADADDR, cea=BADADDR, _lnnum=-1, _x=0, _y=0) -> history_item_t @param fea: ea_t @param cea: ea_t @param _lnnum: int @param _x: int @param _y: int __init__(self, fea, cea, p) -> history_item_t @param fea: ea_t @param cea: ea_t @param p: ctext_position_t const &"
},
{
"ref":"ida_hexrays.history_item_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.history_item_t.func_ea",
"url":19,
"doc":"The entry address of the decompiled function."
},
{
"ref":"ida_hexrays.history_item_t.curr_ea",
"url":19,
"doc":"Current address."
},
{
"ref":"ida_hexrays.history_item_t.end",
"url":19,
"doc":"BADADDR-decompile a function; otherwise end of the range."
},
{
"ref":"ida_hexrays.history_item_t.lnnum",
"url":19,
"doc":"Line number."
},
{
"ref":"ida_hexrays.history_item_t.x",
"url":19,
"doc":"x coordinate of the cursor within the window"
},
{
"ref":"ida_hexrays.history_item_t.y",
"url":19,
"doc":"y coordinate of the cursor within the window"
},
{
"ref":"ida_hexrays.history_item_t.in_ctree",
"url":19,
"doc":"in_ctree(self, hdrlines) -> bool Is the cursor in the variable/type declaration area? @param hdrlines: (C : int) Number of lines of the declaration area",
"func":1
},
{
"ref":"ida_hexrays.history_item_t.compare",
"url":19,
"doc":"compare(self, r) -> int @param r: ctext_position_t const &",
"func":1
},
{
"ref":"ida_hexrays.vdui_t",
"url":19,
"doc":"Proxy of C vdui_t class."
},
{
"ref":"ida_hexrays.vdui_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.vdui_t.flags",
"url":19,
"doc":"Properties of pseudocode window"
},
{
"ref":"ida_hexrays.vdui_t.visible",
"url":19,
"doc":"visible(self) -> bool Is the pseudocode window visible? if not, it might be invisible or destroyed",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.valid",
"url":19,
"doc":"valid(self) -> bool Does the pseudocode window contain valid code? It can become invalid if the function type gets changed in IDA.",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.locked",
"url":19,
"doc":"locked(self) -> bool Does the pseudocode window contain valid code? We lock windows before modifying them, to avoid recursion due to the events generated by the IDA kernel. @retval true: The window is locked and may have stale info",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.set_visible",
"url":19,
"doc":"set_visible(self, v) @param v: bool",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.set_valid",
"url":19,
"doc":"set_valid(self, v) @param v: bool",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.set_locked",
"url":19,
"doc":"set_locked(self, v) -> bool @param v: bool",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.view_idx",
"url":19,
"doc":"pseudocode window index (0 )"
},
{
"ref":"ida_hexrays.vdui_t.ct",
"url":19,
"doc":"pseudocode view"
},
{
"ref":"ida_hexrays.vdui_t.toplevel",
"url":19,
"doc":"toplevel"
},
{
"ref":"ida_hexrays.vdui_t.mba",
"url":19,
"doc":"pointer to underlying microcode"
},
{
"ref":"ida_hexrays.vdui_t.cfunc",
"url":19,
"doc":"pointer to function object"
},
{
"ref":"ida_hexrays.vdui_t.last_code",
"url":19,
"doc":"result of the last user action. See Microcode error codes"
},
{
"ref":"ida_hexrays.vdui_t.cpos",
"url":19,
"doc":"Current ctext position."
},
{
"ref":"ida_hexrays.vdui_t.head",
"url":19,
"doc":"First ctree item on the current line (for block comments)"
},
{
"ref":"ida_hexrays.vdui_t.item",
"url":19,
"doc":"Current ctree item."
},
{
"ref":"ida_hexrays.vdui_t.tail",
"url":19,
"doc":"Tail ctree item on the current line (for indented comments)"
},
{
"ref":"ida_hexrays.vdui_t.refresh_view",
"url":19,
"doc":"refresh_view(self, redo_mba) Refresh pseudocode window. This is the highest level refresh function. It causes the most profound refresh possible and can lead to redecompilation of the current function. Please consider using refresh_ctext() if you need a more superficial refresh. @param redo_mba: (C : bool) true means to redecompile the current function false means to rebuild ctree without regenerating microcode @see: refresh_ctext()",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.refresh_ctext",
"url":19,
"doc":"refresh_ctext(self, activate=True) Refresh pseudocode window. This function refreshes the pseudocode window by regenerating its text from cfunc_t. Instead of this function use refresh_func_ctext(), which refreshes all pseudocode windows for the function. @see: refresh_view(), refresh_func_ctext() @param activate: (C : bool)",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.switch_to",
"url":19,
"doc":"switch_to(self, f, activate) Display the specified pseudocode. This function replaces the pseudocode window contents with the specified cfunc_t. @param f: (C : cfuncptr_t) pointer to the function to display. @param activate: (C : bool) should the pseudocode window get focus?",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.in_ctree",
"url":19,
"doc":"in_ctree(self) -> bool Is the current item a statement? @return: false if the cursor is in the local variable/type declaration area true if the cursor is in the statement area",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.get_number",
"url":19,
"doc":"get_number(self) -> cnumber_t Get current number. If the current item is a number, return pointer to it. @return: nullptr if the current item is not a number This function returns non- null for the cases of a 'switch' statement Also, if the current item is a casted number, then this function will succeed.",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.get_current_label",
"url":19,
"doc":"get_current_label(self) -> int Get current label. If there is a label under the cursor, return its number. @return: -1 if there is no label under the cursor. prereq: get_current_item() has been called",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.clear",
"url":19,
"doc":"clear(self) Clear the pseudocode window. It deletes the current function and microcode.",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.refresh_cpos",
"url":19,
"doc":"refresh_cpos(self, idv) -> bool Refresh the current position. This function refreshes the cpos field. @param idv: (C : input_device_t) keyboard or mouse @return: false if failed",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.get_current_item",
"url":19,
"doc":"get_current_item(self, idv) -> bool Get current item. This function refreshes the cpos, item, tail fields. @param idv: (C : input_device_t) keyboard or mouse @see: cfunc_t get_line_item() @return: false if failed",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.ui_rename_lvar",
"url":19,
"doc":"ui_rename_lvar(self, v) -> bool Rename local variable. This function displays a dialog box and allows the user to rename a local variable. @param v: (C : lvar_t  ) pointer to local variable @return: false if failed or cancelled",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.rename_lvar",
"url":19,
"doc":"rename_lvar(self, v, name, is_user_name) -> bool Rename local variable. This function permanently renames a local variable. @param v: (C : lvar_t  ) pointer to local variable @param name: (C : const char  ) new variable name @param is_user_name: (C : bool) use true to save the new name into the database. use false to delete the saved name. @see:  rename_lvar() @return: false if failed",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.ui_set_call_type",
"url":19,
"doc":"ui_set_call_type(self, e) -> bool Set type of a function call This function displays a dialog box and allows the user to change the type of a function call @param e: (C : const cexpr_t  ) pointer to call expression @return: false if failed or cancelled",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.ui_set_lvar_type",
"url":19,
"doc":"ui_set_lvar_type(self, v) -> bool Set local variable type. This function displays a dialog box and allows the user to change the type of a local variable. @param v: (C : lvar_t  ) pointer to local variable @return: false if failed or cancelled",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.set_lvar_type",
"url":19,
"doc":"set_lvar_type(self, v, type) -> bool Set local variable type. This function permanently sets a local variable type and clears NOPTR flag if it was set before by function 'set_noptr_lvar' @param v: (C : lvar_t  ) pointer to local variable @param type: (C : const tinfo_t &) new variable type @return: false if failed",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.set_noptr_lvar",
"url":19,
"doc":"set_noptr_lvar(self, v) -> bool Inform that local variable should have a non-pointer type This function permanently sets a corresponding variable flag (NOPTR) and removes type if it was set before by function 'set_lvar_type' @param v: (C : lvar_t  ) pointer to local variable @return: false if failed",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.ui_edit_lvar_cmt",
"url":19,
"doc":"ui_edit_lvar_cmt(self, v) -> bool Set local variable comment. This function displays a dialog box and allows the user to edit the comment of a local variable. @param v: (C : lvar_t  ) pointer to local variable @return: false if failed or cancelled",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.set_lvar_cmt",
"url":19,
"doc":"set_lvar_cmt(self, v, cmt) -> bool Set local variable comment. This function permanently sets a variable comment. @param v: (C : lvar_t  ) pointer to local variable @param cmt: (C : const char  ) new comment @return: false if failed",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.ui_map_lvar",
"url":19,
"doc":"ui_map_lvar(self, v) -> bool Map a local variable to another. This function displays a variable list and allows the user to select mapping. @param v: (C : lvar_t  ) pointer to local variable @return: false if failed or cancelled",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.ui_unmap_lvar",
"url":19,
"doc":"ui_unmap_lvar(self, v) -> bool Unmap a local variable. This function displays list of variables mapped to the specified variable and allows the user to select a variable to unmap. @param v: (C : lvar_t  ) pointer to local variable @return: false if failed or cancelled",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.map_lvar",
"url":19,
"doc":"map_lvar(self, frm, to) -> bool Map a local variable to another. This function permanently maps one lvar to another. All occurrences of the mapped variable are replaced by the new variable @param from: (C : lvar_t  ) the variable being mapped @param to: (C : lvar_t  ) the variable to map to. if nullptr, unmaps the variable @return: false if failed",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.set_udm_type",
"url":19,
"doc":"set_udm_type(self, udt_type, udm_idx) -> bool Set structure field type. This function displays a dialog box and allows the user to change the type of a structure field. @param udt_type: (C : tinfo_t &) structure/union type @param udm_idx: (C : int) index of the structure/union member @return: false if failed or cancelled",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.rename_udm",
"url":19,
"doc":"rename_udm(self, udt_type, udm_idx) -> bool Rename structure field. This function displays a dialog box and allows the user to rename a structure field. @param udt_type: (C : tinfo_t &) structure/union type @param udm_idx: (C : int) index of the structure/union member @return: false if failed or cancelled",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.set_global_type",
"url":19,
"doc":"set_global_type(self, ea) -> bool Set global item type. This function displays a dialog box and allows the user to change the type of a global item (data or function). @param ea: (C : ea_t) address of the global item @return: false if failed or cancelled",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.rename_global",
"url":19,
"doc":"rename_global(self, ea) -> bool Rename global item. This function displays a dialog box and allows the user to rename a global item (data or function). @param ea: (C : ea_t) address of the global item @return: false if failed or cancelled",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.rename_label",
"url":19,
"doc":"rename_label(self, label) -> bool Rename a label. This function displays a dialog box and allows the user to rename a statement label. @param label: (C : int) label number @return: false if failed or cancelled",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.jump_enter",
"url":19,
"doc":"jump_enter(self, idv, omflags) -> bool Process the Enter key. This function jumps to the definition of the item under the cursor. If the current item is a function, it will be decompiled. If the current item is a global data, its disassemly text will be displayed. @param idv: (C : input_device_t) what cursor must be used, the keyboard or the mouse @param omflags: (C : int) OM_NEWWIN: new pseudocode window will open, 0: reuse the existing window @return: false if failed",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.ctree_to_disasm",
"url":19,
"doc":"ctree_to_disasm(self) -> bool Jump to disassembly. This function jumps to the address in the disassembly window which corresponds to the current item. The current item is determined based on the current keyboard cursor position. @return: false if failed",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.calc_cmt_type",
"url":19,
"doc":"calc_cmt_type(self, lnnum, cmttype) -> cmt_type_t Check if the specified line can have a comment. Due to the coordinate system for comments: (\\link{https: www.hex-rays.com/blog/coordinate-system-for-hex-rays}) some function lines cannot have comments. This function checks if a comment can be attached to the specified line. @param lnnum: (C : size_t) line number (0 based) @param cmttype: (C : cmt_type_t) comment types to check @return: possible comment types",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.edit_cmt",
"url":19,
"doc":"edit_cmt(self, loc) -> bool Edit an indented comment. This function displays a dialog box and allows the user to edit the comment for the specified ctree location. @param loc: (C : const treeloc_t &) comment location @return: false if failed or cancelled",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.edit_func_cmt",
"url":19,
"doc":"edit_func_cmt(self) -> bool Edit a function comment. This function displays a dialog box and allows the user to edit the function comment. @return: false if failed or cancelled",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.del_orphan_cmts",
"url":19,
"doc":"del_orphan_cmts(self) -> bool Delete all orphan comments. Delete all orphan comments and refresh the screen. @return: true",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.set_num_radix",
"url":19,
"doc":"set_num_radix(self, base) -> bool Change number base. This function changes the current number representation. @param base: (C : int) number radix (10 or 16) 0 means a character constant @return: false if failed",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.set_num_enum",
"url":19,
"doc":"set_num_enum(self) -> bool Convert number to symbolic constant. This function displays a dialog box and allows the user to select a symbolic constant to represent the number. @return: false if failed or cancelled",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.set_num_stroff",
"url":19,
"doc":"set_num_stroff(self) -> bool Convert number to structure field offset. Currently not implemented. @return: false if failed or cancelled",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.invert_sign",
"url":19,
"doc":"invert_sign(self) -> bool Negate a number. This function negates the current number. @return: false if failed.",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.invert_bits",
"url":19,
"doc":"invert_bits(self) -> bool Bitwise negate a number. This function inverts all bits of the current number. @return: false if failed.",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.collapse_item",
"url":19,
"doc":"collapse_item(self, hide) -> bool Collapse/uncollapse item. This function collapses the current item. @param hide: (C : bool) @return: false if failed.",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.collapse_lvars",
"url":19,
"doc":"collapse_lvars(self, hide) -> bool Collapse/uncollapse local variable declarations. @param hide: (C : bool) @return: false if failed.",
"func":1
},
{
"ref":"ida_hexrays.vdui_t.split_item",
"url":19,
"doc":"split_item(self, split) -> bool Split/unsplit item. This function splits the current assignment expression. @param split: (C : bool) @return: false if failed.",
"func":1
},
{
"ref":"ida_hexrays.CMT_NONE",
"url":19,
"doc":"No comment is possible."
},
{
"ref":"ida_hexrays.CMT_TAIL",
"url":19,
"doc":"Indented comment."
},
{
"ref":"ida_hexrays.CMT_BLOCK1",
"url":19,
"doc":"Anterioir block comment."
},
{
"ref":"ida_hexrays.CMT_BLOCK2",
"url":19,
"doc":"Posterior block comment."
},
{
"ref":"ida_hexrays.CMT_LVAR",
"url":19,
"doc":"Local variable comment."
},
{
"ref":"ida_hexrays.CMT_FUNC",
"url":19,
"doc":"Function comment."
},
{
"ref":"ida_hexrays.CMT_ALL",
"url":19,
"doc":"All comments."
},
{
"ref":"ida_hexrays.VDUI_VISIBLE",
"url":19,
"doc":"is visible?"
},
{
"ref":"ida_hexrays.VDUI_VALID",
"url":19,
"doc":"is valid?"
},
{
"ref":"ida_hexrays.ui_stroff_op_t",
"url":19,
"doc":"Proxy of C ui_stroff_op_t class. __init__(self) -> ui_stroff_op_t"
},
{
"ref":"ida_hexrays.ui_stroff_op_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.ui_stroff_op_t.text",
"url":19,
"doc":"any text for the column \"Operand\" of widget"
},
{
"ref":"ida_hexrays.ui_stroff_op_t.offset",
"url":19,
"doc":"operand offset, will be used when calculating the UDT path"
},
{
"ref":"ida_hexrays.ui_stroff_applicator_t",
"url":19,
"doc":"Proxy of C ui_stroff_applicator_t class. __init__(self) -> ui_stroff_applicator_t @param self: PyObject  "
},
{
"ref":"ida_hexrays.ui_stroff_applicator_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.ui_stroff_applicator_t.apply",
"url":19,
"doc":"apply(self, opnum, path, top_tif, spath) -> bool @param opnum: (C : size_t) operand ordinal number, see below @param path: (C : const intvec_t &) path describing the union selection, maybe empty @param top_tif: (C : const tinfo_t &) tinfo_t of the selected toplevel UDT @param spath: (C : const char  ) selected path",
"func":1
},
{
"ref":"ida_hexrays.select_udt_by_offset",
"url":19,
"doc":"select_udt_by_offset(udts, ops, applicator) -> int Select UDT @param udts: (C : const qvector  ) list of UDT tinfo_t for the selection, if nullptr or empty then UDTs from the \"Local types\" will be used @param ops: (C : const ui_stroff_ops_t &) operands @param applicator: (C : ui_stroff_applicator_t &) callback will be called to apply the selection for every operand",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_iterator_t",
"url":19,
"doc":"Proxy of C user_numforms_iterator_t class. __init__(self) -> user_numforms_iterator_t"
},
{
"ref":"ida_hexrays.user_numforms_iterator_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.user_numforms_iterator_t.x",
"url":19,
"doc":"x"
},
{
"ref":"ida_hexrays.user_numforms_first",
"url":19,
"doc":"user_numforms_first(p) -> operand_locator_t Get reference to the current map key. @param p: (C : user_numforms_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_second",
"url":19,
"doc":"user_numforms_second(p) -> number_format_t Get reference to the current map value. @param p: (C : user_numforms_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_find",
"url":19,
"doc":"user_numforms_find(map, key) -> user_numforms_iterator_t Find the specified key in user_numforms_t. @param map: (C : const user_numforms_t  ) user_numforms_t const  @param key: (C : const operand_locator_t &) operand_locator_t const &",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_insert",
"url":19,
"doc":"user_numforms_insert(map, key, val) -> user_numforms_iterator_t Insert new (operand_locator_t, number_format_t) pair into user_numforms_t. @param map: (C : user_numforms_t  ) @param key: (C : const operand_locator_t &) operand_locator_t const & @param val: (C : const number_format_t &) number_format_t const &",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_begin",
"url":19,
"doc":"user_numforms_begin(map) -> user_numforms_iterator_t Get iterator pointing to the beginning of user_numforms_t. @param map: (C : const user_numforms_t  ) user_numforms_t const  ",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_end",
"url":19,
"doc":"user_numforms_end(map) -> user_numforms_iterator_t Get iterator pointing to the end of user_numforms_t. @param map: (C : const user_numforms_t  ) user_numforms_t const  ",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_next",
"url":19,
"doc":"user_numforms_next(p) -> user_numforms_iterator_t Move to the next element. @param p: (C : user_numforms_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_prev",
"url":19,
"doc":"user_numforms_prev(p) -> user_numforms_iterator_t Move to the previous element. @param p: (C : user_numforms_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_erase",
"url":19,
"doc":"user_numforms_erase(map, p) Erase current element from user_numforms_t. @param map: (C : user_numforms_t  ) @param p: (C : user_numforms_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_clear",
"url":19,
"doc":"user_numforms_clear(map) Clear user_numforms_t. @param map: (C : user_numforms_t  )",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_size",
"url":19,
"doc":"user_numforms_size(map) -> size_t Get size of user_numforms_t. @param map: (C : user_numforms_t  )",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_free",
"url":19,
"doc":"user_numforms_free(map) Delete user_numforms_t instance. @param map: (C : user_numforms_t  )",
"func":1
},
{
"ref":"ida_hexrays.user_numforms_new",
"url":19,
"doc":"user_numforms_new() -> user_numforms_t Create a new user_numforms_t instance.",
"func":1
},
{
"ref":"ida_hexrays.lvar_mapping_iterator_t",
"url":19,
"doc":"Proxy of C lvar_mapping_iterator_t class. __init__(self) -> lvar_mapping_iterator_t"
},
{
"ref":"ida_hexrays.lvar_mapping_iterator_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.lvar_mapping_iterator_t.x",
"url":19,
"doc":"x"
},
{
"ref":"ida_hexrays.lvar_mapping_first",
"url":19,
"doc":"lvar_mapping_first(p) -> lvar_locator_t Get reference to the current map key. @param p: (C : lvar_mapping_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.lvar_mapping_second",
"url":19,
"doc":"lvar_mapping_second(p) -> lvar_locator_t Get reference to the current map value. @param p: (C : lvar_mapping_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.lvar_mapping_find",
"url":19,
"doc":"lvar_mapping_find(map, key) -> lvar_mapping_iterator_t Find the specified key in lvar_mapping_t. @param map: (C : const lvar_mapping_t  ) lvar_mapping_t const  @param key: (C : const lvar_locator_t &) lvar_locator_t const &",
"func":1
},
{
"ref":"ida_hexrays.lvar_mapping_insert",
"url":19,
"doc":"lvar_mapping_insert(map, key, val) -> lvar_mapping_iterator_t Insert new (lvar_locator_t, lvar_locator_t) pair into lvar_mapping_t. @param map: (C : lvar_mapping_t  ) @param key: (C : const lvar_locator_t &) lvar_locator_t const & @param val: (C : const lvar_locator_t &) lvar_locator_t const &",
"func":1
},
{
"ref":"ida_hexrays.lvar_mapping_begin",
"url":19,
"doc":"lvar_mapping_begin(map) -> lvar_mapping_iterator_t Get iterator pointing to the beginning of lvar_mapping_t. @param map: (C : const lvar_mapping_t  ) lvar_mapping_t const  ",
"func":1
},
{
"ref":"ida_hexrays.lvar_mapping_end",
"url":19,
"doc":"lvar_mapping_end(map) -> lvar_mapping_iterator_t Get iterator pointing to the end of lvar_mapping_t. @param map: (C : const lvar_mapping_t  ) lvar_mapping_t const  ",
"func":1
},
{
"ref":"ida_hexrays.lvar_mapping_next",
"url":19,
"doc":"lvar_mapping_next(p) -> lvar_mapping_iterator_t Move to the next element. @param p: (C : lvar_mapping_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.lvar_mapping_prev",
"url":19,
"doc":"lvar_mapping_prev(p) -> lvar_mapping_iterator_t Move to the previous element. @param p: (C : lvar_mapping_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.lvar_mapping_erase",
"url":19,
"doc":"lvar_mapping_erase(map, p) Erase current element from lvar_mapping_t. @param map: (C : lvar_mapping_t  ) @param p: (C : lvar_mapping_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.lvar_mapping_clear",
"url":19,
"doc":"lvar_mapping_clear(map) Clear lvar_mapping_t. @param map: (C : lvar_mapping_t  )",
"func":1
},
{
"ref":"ida_hexrays.lvar_mapping_size",
"url":19,
"doc":"lvar_mapping_size(map) -> size_t Get size of lvar_mapping_t. @param map: (C : lvar_mapping_t  )",
"func":1
},
{
"ref":"ida_hexrays.lvar_mapping_free",
"url":19,
"doc":"lvar_mapping_free(map) Delete lvar_mapping_t instance. @param map: (C : lvar_mapping_t  )",
"func":1
},
{
"ref":"ida_hexrays.lvar_mapping_new",
"url":19,
"doc":"lvar_mapping_new() -> lvar_mapping_t Create a new lvar_mapping_t instance.",
"func":1
},
{
"ref":"ida_hexrays.udcall_map_iterator_t",
"url":19,
"doc":"Proxy of C udcall_map_iterator_t class. __init__(self) -> udcall_map_iterator_t"
},
{
"ref":"ida_hexrays.udcall_map_iterator_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.udcall_map_iterator_t.x",
"url":19,
"doc":"x"
},
{
"ref":"ida_hexrays.udcall_map_first",
"url":19,
"doc":"udcall_map_first(p) -> ea_t const & Get reference to the current map key. @param p: (C : udcall_map_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.udcall_map_second",
"url":19,
"doc":"udcall_map_second(p) -> udcall_t Get reference to the current map value. @param p: (C : udcall_map_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.udcall_map_find",
"url":19,
"doc":"udcall_map_find(map, key) -> udcall_map_iterator_t Find the specified key in udcall_map_t. @param map: (C : const udcall_map_t  ) udcall_map_t const  @param key: (C : const ea_t &) ea_t const &",
"func":1
},
{
"ref":"ida_hexrays.udcall_map_insert",
"url":19,
"doc":"udcall_map_insert(map, key, val) -> udcall_map_iterator_t Insert new (ea_t, udcall_t) pair into udcall_map_t. @param map: (C : udcall_map_t  ) @param key: (C : const ea_t &) ea_t const & @param val: (C : const udcall_t &) udcall_t const &",
"func":1
},
{
"ref":"ida_hexrays.udcall_map_begin",
"url":19,
"doc":"udcall_map_begin(map) -> udcall_map_iterator_t Get iterator pointing to the beginning of udcall_map_t. @param map: (C : const udcall_map_t  ) udcall_map_t const  ",
"func":1
},
{
"ref":"ida_hexrays.udcall_map_end",
"url":19,
"doc":"udcall_map_end(map) -> udcall_map_iterator_t Get iterator pointing to the end of udcall_map_t. @param map: (C : const udcall_map_t  ) udcall_map_t const  ",
"func":1
},
{
"ref":"ida_hexrays.udcall_map_next",
"url":19,
"doc":"udcall_map_next(p) -> udcall_map_iterator_t Move to the next element. @param p: (C : udcall_map_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.udcall_map_prev",
"url":19,
"doc":"udcall_map_prev(p) -> udcall_map_iterator_t Move to the previous element. @param p: (C : udcall_map_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.udcall_map_erase",
"url":19,
"doc":"udcall_map_erase(map, p) Erase current element from udcall_map_t. @param map: (C : udcall_map_t  ) @param p: (C : udcall_map_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.udcall_map_clear",
"url":19,
"doc":"udcall_map_clear(map) Clear udcall_map_t. @param map: (C : udcall_map_t  )",
"func":1
},
{
"ref":"ida_hexrays.udcall_map_size",
"url":19,
"doc":"udcall_map_size(map) -> size_t Get size of udcall_map_t. @param map: (C : udcall_map_t  )",
"func":1
},
{
"ref":"ida_hexrays.udcall_map_free",
"url":19,
"doc":"udcall_map_free(map) Delete udcall_map_t instance. @param map: (C : udcall_map_t  )",
"func":1
},
{
"ref":"ida_hexrays.udcall_map_new",
"url":19,
"doc":"udcall_map_new() -> udcall_map_t  Create a new udcall_map_t instance.",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_iterator_t",
"url":19,
"doc":"Proxy of C user_cmts_iterator_t class. __init__(self) -> user_cmts_iterator_t"
},
{
"ref":"ida_hexrays.user_cmts_iterator_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.user_cmts_iterator_t.x",
"url":19,
"doc":"x"
},
{
"ref":"ida_hexrays.user_cmts_first",
"url":19,
"doc":"user_cmts_first(p) -> treeloc_t Get reference to the current map key. @param p: (C : user_cmts_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_second",
"url":19,
"doc":"user_cmts_second(p) -> citem_cmt_t Get reference to the current map value. @param p: (C : user_cmts_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_find",
"url":19,
"doc":"user_cmts_find(map, key) -> user_cmts_iterator_t Find the specified key in user_cmts_t. @param map: (C : const user_cmts_t  ) user_cmts_t const  @param key: (C : const treeloc_t &) treeloc_t const &",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_insert",
"url":19,
"doc":"user_cmts_insert(map, key, val) -> user_cmts_iterator_t Insert new (treeloc_t, citem_cmt_t) pair into user_cmts_t. @param map: (C : user_cmts_t  ) @param key: (C : const treeloc_t &) treeloc_t const & @param val: (C : const citem_cmt_t &) citem_cmt_t const &",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_begin",
"url":19,
"doc":"user_cmts_begin(map) -> user_cmts_iterator_t Get iterator pointing to the beginning of user_cmts_t. @param map: (C : const user_cmts_t  ) user_cmts_t const  ",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_end",
"url":19,
"doc":"user_cmts_end(map) -> user_cmts_iterator_t Get iterator pointing to the end of user_cmts_t. @param map: (C : const user_cmts_t  ) user_cmts_t const  ",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_next",
"url":19,
"doc":"user_cmts_next(p) -> user_cmts_iterator_t Move to the next element. @param p: (C : user_cmts_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_prev",
"url":19,
"doc":"user_cmts_prev(p) -> user_cmts_iterator_t Move to the previous element. @param p: (C : user_cmts_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_erase",
"url":19,
"doc":"user_cmts_erase(map, p) Erase current element from user_cmts_t. @param map: (C : user_cmts_t  ) @param p: (C : user_cmts_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_clear",
"url":19,
"doc":"user_cmts_clear(map) Clear user_cmts_t. @param map: (C : user_cmts_t  )",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_size",
"url":19,
"doc":"user_cmts_size(map) -> size_t Get size of user_cmts_t. @param map: (C : user_cmts_t  )",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_free",
"url":19,
"doc":"user_cmts_free(map) Delete user_cmts_t instance. @param map: (C : user_cmts_t  )",
"func":1
},
{
"ref":"ida_hexrays.user_cmts_new",
"url":19,
"doc":"user_cmts_new() -> user_cmts_t Create a new user_cmts_t instance.",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_iterator_t",
"url":19,
"doc":"Proxy of C user_iflags_iterator_t class. __init__(self) -> user_iflags_iterator_t"
},
{
"ref":"ida_hexrays.user_iflags_iterator_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.user_iflags_iterator_t.x",
"url":19,
"doc":"x"
},
{
"ref":"ida_hexrays.user_iflags_first",
"url":19,
"doc":"user_iflags_first(p) -> citem_locator_t Get reference to the current map key. @param p: (C : user_iflags_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_find",
"url":19,
"doc":"user_iflags_find(map, key) -> user_iflags_iterator_t Find the specified key in user_iflags_t. @param map: (C : const user_iflags_t  ) user_iflags_t const  @param key: (C : const citem_locator_t &) citem_locator_t const &",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_insert",
"url":19,
"doc":"user_iflags_insert(map, key, val) -> user_iflags_iterator_t Insert new (citem_locator_t, int32) pair into user_iflags_t. @param map: (C : user_iflags_t  ) @param key: (C : const citem_locator_t &) citem_locator_t const & @param val: (C : const int32 &) int32 const &",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_begin",
"url":19,
"doc":"user_iflags_begin(map) -> user_iflags_iterator_t Get iterator pointing to the beginning of user_iflags_t. @param map: (C : const user_iflags_t  ) user_iflags_t const  ",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_end",
"url":19,
"doc":"user_iflags_end(map) -> user_iflags_iterator_t Get iterator pointing to the end of user_iflags_t. @param map: (C : const user_iflags_t  ) user_iflags_t const  ",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_next",
"url":19,
"doc":"user_iflags_next(p) -> user_iflags_iterator_t Move to the next element. @param p: (C : user_iflags_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_prev",
"url":19,
"doc":"user_iflags_prev(p) -> user_iflags_iterator_t Move to the previous element. @param p: (C : user_iflags_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_erase",
"url":19,
"doc":"user_iflags_erase(map, p) Erase current element from user_iflags_t. @param map: (C : user_iflags_t  ) @param p: (C : user_iflags_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_clear",
"url":19,
"doc":"user_iflags_clear(map) Clear user_iflags_t. @param map: (C : user_iflags_t  )",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_size",
"url":19,
"doc":"user_iflags_size(map) -> size_t Get size of user_iflags_t. @param map: (C : user_iflags_t  )",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_free",
"url":19,
"doc":"user_iflags_free(map) Delete user_iflags_t instance. @param map: (C : user_iflags_t  )",
"func":1
},
{
"ref":"ida_hexrays.user_iflags_new",
"url":19,
"doc":"user_iflags_new() -> user_iflags_t Create a new user_iflags_t instance.",
"func":1
},
{
"ref":"ida_hexrays.user_unions_iterator_t",
"url":19,
"doc":"Proxy of C user_unions_iterator_t class. __init__(self) -> user_unions_iterator_t"
},
{
"ref":"ida_hexrays.user_unions_iterator_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.user_unions_iterator_t.x",
"url":19,
"doc":"x"
},
{
"ref":"ida_hexrays.user_unions_first",
"url":19,
"doc":"user_unions_first(p) -> ea_t const & Get reference to the current map key. @param p: (C : user_unions_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.user_unions_second",
"url":19,
"doc":"user_unions_second(p) -> intvec_t Get reference to the current map value. @param p: (C : user_unions_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.user_unions_find",
"url":19,
"doc":"user_unions_find(map, key) -> user_unions_iterator_t Find the specified key in user_unions_t. @param map: (C : const user_unions_t  ) user_unions_t const  @param key: (C : const ea_t &) ea_t const &",
"func":1
},
{
"ref":"ida_hexrays.user_unions_insert",
"url":19,
"doc":"user_unions_insert(map, key, val) -> user_unions_iterator_t Insert new (ea_t, intvec_t) pair into user_unions_t. @param map: (C : user_unions_t  ) @param key: (C : const ea_t &) ea_t const & @param val: (C : const intvec_t &) intvec_t const &",
"func":1
},
{
"ref":"ida_hexrays.user_unions_begin",
"url":19,
"doc":"user_unions_begin(map) -> user_unions_iterator_t Get iterator pointing to the beginning of user_unions_t. @param map: (C : const user_unions_t  ) user_unions_t const  ",
"func":1
},
{
"ref":"ida_hexrays.user_unions_end",
"url":19,
"doc":"user_unions_end(map) -> user_unions_iterator_t Get iterator pointing to the end of user_unions_t. @param map: (C : const user_unions_t  ) user_unions_t const  ",
"func":1
},
{
"ref":"ida_hexrays.user_unions_next",
"url":19,
"doc":"user_unions_next(p) -> user_unions_iterator_t Move to the next element. @param p: (C : user_unions_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.user_unions_prev",
"url":19,
"doc":"user_unions_prev(p) -> user_unions_iterator_t Move to the previous element. @param p: (C : user_unions_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.user_unions_erase",
"url":19,
"doc":"user_unions_erase(map, p) Erase current element from user_unions_t. @param map: (C : user_unions_t  ) @param p: (C : user_unions_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.user_unions_clear",
"url":19,
"doc":"user_unions_clear(map) Clear user_unions_t. @param map: (C : user_unions_t  )",
"func":1
},
{
"ref":"ida_hexrays.user_unions_size",
"url":19,
"doc":"user_unions_size(map) -> size_t Get size of user_unions_t. @param map: (C : user_unions_t  )",
"func":1
},
{
"ref":"ida_hexrays.user_unions_free",
"url":19,
"doc":"user_unions_free(map) Delete user_unions_t instance. @param map: (C : user_unions_t  )",
"func":1
},
{
"ref":"ida_hexrays.user_unions_new",
"url":19,
"doc":"user_unions_new() -> user_unions_t Create a new user_unions_t instance.",
"func":1
},
{
"ref":"ida_hexrays.user_labels_iterator_t",
"url":19,
"doc":"Proxy of C user_labels_iterator_t class. __init__(self) -> user_labels_iterator_t"
},
{
"ref":"ida_hexrays.user_labels_iterator_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.user_labels_iterator_t.x",
"url":19,
"doc":"x"
},
{
"ref":"ida_hexrays.user_labels_first",
"url":19,
"doc":"user_labels_first(p) -> int const & Get reference to the current map key. @param p: (C : user_labels_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.user_labels_second",
"url":19,
"doc":"user_labels_second(p) -> qstring & Get reference to the current map value. @param p: (C : user_labels_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.user_labels_find",
"url":19,
"doc":"user_labels_find(map, key) -> user_labels_iterator_t Find the specified key in user_labels_t. @param map: (C : const user_labels_t  ) user_labels_t const  @param key: (C : const int &) int const &",
"func":1
},
{
"ref":"ida_hexrays.user_labels_insert",
"url":19,
"doc":"user_labels_insert(map, key, val) -> user_labels_iterator_t Insert new (int, qstring) pair into user_labels_t. @param map: (C : user_labels_t  ) @param key: (C : const int &) int const & @param val: (C : const qstring &) qstring const &",
"func":1
},
{
"ref":"ida_hexrays.user_labels_begin",
"url":19,
"doc":"user_labels_begin(map) -> user_labels_iterator_t Get iterator pointing to the beginning of user_labels_t. @param map: (C : const user_labels_t  ) user_labels_t const  ",
"func":1
},
{
"ref":"ida_hexrays.user_labels_end",
"url":19,
"doc":"user_labels_end(map) -> user_labels_iterator_t Get iterator pointing to the end of user_labels_t. @param map: (C : const user_labels_t  ) user_labels_t const  ",
"func":1
},
{
"ref":"ida_hexrays.user_labels_next",
"url":19,
"doc":"user_labels_next(p) -> user_labels_iterator_t Move to the next element. @param p: (C : user_labels_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.user_labels_prev",
"url":19,
"doc":"user_labels_prev(p) -> user_labels_iterator_t Move to the previous element. @param p: (C : user_labels_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.user_labels_erase",
"url":19,
"doc":"user_labels_erase(map, p) Erase current element from user_labels_t. @param map: (C : user_labels_t  ) @param p: (C : user_labels_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.user_labels_clear",
"url":19,
"doc":"user_labels_clear(map) Clear user_labels_t. @param map: (C : user_labels_t  )",
"func":1
},
{
"ref":"ida_hexrays.user_labels_size",
"url":19,
"doc":"user_labels_size(map) -> size_t Get size of user_labels_t. @param map: (C : user_labels_t  )",
"func":1
},
{
"ref":"ida_hexrays.user_labels_free",
"url":19,
"doc":"user_labels_free(map) Delete user_labels_t instance. @param map: (C : user_labels_t  )",
"func":1
},
{
"ref":"ida_hexrays.user_labels_new",
"url":19,
"doc":"user_labels_new() -> user_labels_t Create a new user_labels_t instance.",
"func":1
},
{
"ref":"ida_hexrays.eamap_iterator_t",
"url":19,
"doc":"Proxy of C eamap_iterator_t class. __init__(self) -> eamap_iterator_t"
},
{
"ref":"ida_hexrays.eamap_iterator_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.eamap_iterator_t.x",
"url":19,
"doc":"x"
},
{
"ref":"ida_hexrays.eamap_first",
"url":19,
"doc":"eamap_first(p) -> ea_t const & Get reference to the current map key. @param p: (C : eamap_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.eamap_second",
"url":19,
"doc":"eamap_second(p) -> cinsnptrvec_t Get reference to the current map value. @param p: (C : eamap_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.eamap_find",
"url":19,
"doc":"eamap_find(map, key) -> eamap_iterator_t Find the specified key in eamap_t. @param map: (C : const eamap_t  ) eamap_t const  @param key: (C : const ea_t &) ea_t const &",
"func":1
},
{
"ref":"ida_hexrays.eamap_insert",
"url":19,
"doc":"eamap_insert(map, key, val) -> eamap_iterator_t Insert new (ea_t, cinsnptrvec_t) pair into eamap_t. @param map: (C : eamap_t  ) @param key: (C : const ea_t &) ea_t const & @param val: (C : const cinsnptrvec_t &) cinsnptrvec_t const &",
"func":1
},
{
"ref":"ida_hexrays.eamap_begin",
"url":19,
"doc":"eamap_begin(map) -> eamap_iterator_t Get iterator pointing to the beginning of eamap_t. @param map: (C : const eamap_t  ) eamap_t const  ",
"func":1
},
{
"ref":"ida_hexrays.eamap_end",
"url":19,
"doc":"eamap_end(map) -> eamap_iterator_t Get iterator pointing to the end of eamap_t. @param map: (C : const eamap_t  ) eamap_t const  ",
"func":1
},
{
"ref":"ida_hexrays.eamap_next",
"url":19,
"doc":"eamap_next(p) -> eamap_iterator_t Move to the next element. @param p: (C : eamap_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.eamap_prev",
"url":19,
"doc":"eamap_prev(p) -> eamap_iterator_t Move to the previous element. @param p: (C : eamap_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.eamap_erase",
"url":19,
"doc":"eamap_erase(map, p) Erase current element from eamap_t. @param map: (C : eamap_t  ) @param p: (C : eamap_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.eamap_clear",
"url":19,
"doc":"eamap_clear(map) Clear eamap_t. @param map: (C : eamap_t  )",
"func":1
},
{
"ref":"ida_hexrays.eamap_size",
"url":19,
"doc":"eamap_size(map) -> size_t Get size of eamap_t. @param map: (C : eamap_t  )",
"func":1
},
{
"ref":"ida_hexrays.eamap_free",
"url":19,
"doc":"eamap_free(map) Delete eamap_t instance. @param map: (C : eamap_t  )",
"func":1
},
{
"ref":"ida_hexrays.eamap_new",
"url":19,
"doc":"eamap_new() -> eamap_t Create a new eamap_t instance.",
"func":1
},
{
"ref":"ida_hexrays.boundaries_iterator_t",
"url":19,
"doc":"Proxy of C boundaries_iterator_t class. __init__(self) -> boundaries_iterator_t"
},
{
"ref":"ida_hexrays.boundaries_iterator_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.boundaries_iterator_t.x",
"url":19,
"doc":"x"
},
{
"ref":"ida_hexrays.boundaries_first",
"url":19,
"doc":"boundaries_first(p) -> cinsn_t Get reference to the current map key. @param p: (C : boundaries_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.boundaries_second",
"url":19,
"doc":"boundaries_second(p) -> rangeset_t Get reference to the current map value. @param p: (C : boundaries_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.boundaries_begin",
"url":19,
"doc":"boundaries_begin(map) -> boundaries_iterator_t Get iterator pointing to the beginning of boundaries_t. @param map: (C : const boundaries_t  ) boundaries_t const  ",
"func":1
},
{
"ref":"ida_hexrays.boundaries_end",
"url":19,
"doc":"boundaries_end(map) -> boundaries_iterator_t Get iterator pointing to the end of boundaries_t. @param map: (C : const boundaries_t  ) boundaries_t const  ",
"func":1
},
{
"ref":"ida_hexrays.boundaries_next",
"url":19,
"doc":"boundaries_next(p) -> boundaries_iterator_t Move to the next element. @param p: (C : boundaries_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.boundaries_prev",
"url":19,
"doc":"boundaries_prev(p) -> boundaries_iterator_t Move to the previous element. @param p: (C : boundaries_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.boundaries_erase",
"url":19,
"doc":"boundaries_erase(map, p) Erase current element from boundaries_t. @param map: (C : boundaries_t  ) @param p: (C : boundaries_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.boundaries_clear",
"url":19,
"doc":"boundaries_clear(map) Clear boundaries_t. @param map: (C : boundaries_t  )",
"func":1
},
{
"ref":"ida_hexrays.boundaries_size",
"url":19,
"doc":"boundaries_size(map) -> size_t Get size of boundaries_t. @param map: (C : boundaries_t  )",
"func":1
},
{
"ref":"ida_hexrays.boundaries_free",
"url":19,
"doc":"boundaries_free(map) Delete boundaries_t instance. @param map: (C : boundaries_t  )",
"func":1
},
{
"ref":"ida_hexrays.boundaries_new",
"url":19,
"doc":"boundaries_new() -> boundaries_t Create a new boundaries_t instance.",
"func":1
},
{
"ref":"ida_hexrays.block_chains_iterator_t",
"url":19,
"doc":"Proxy of C block_chains_iterator_t class. __init__(self) -> block_chains_iterator_t"
},
{
"ref":"ida_hexrays.block_chains_iterator_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.block_chains_iterator_t.x",
"url":19,
"doc":"x"
},
{
"ref":"ida_hexrays.block_chains_get",
"url":19,
"doc":"block_chains_get(p) -> chain_t Get reference to the current set value. @param p: (C : block_chains_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.block_chains_find",
"url":19,
"doc":"block_chains_find(set, val) -> block_chains_iterator_t Find the specified key in set block_chains_t. @param set: (C : const block_chains_t  ) block_chains_t const  @param val: (C : const chain_t &) chain_t const &",
"func":1
},
{
"ref":"ida_hexrays.block_chains_insert",
"url":19,
"doc":"block_chains_insert(set, val) -> block_chains_iterator_t Insert new (chain_t) into set block_chains_t. @param set: (C : block_chains_t  ) @param val: (C : const chain_t &) chain_t const &",
"func":1
},
{
"ref":"ida_hexrays.block_chains_begin",
"url":19,
"doc":"block_chains_begin(set) -> block_chains_iterator_t Get iterator pointing to the beginning of block_chains_t. @param set: (C : const block_chains_t  ) block_chains_t const  ",
"func":1
},
{
"ref":"ida_hexrays.block_chains_end",
"url":19,
"doc":"block_chains_end(set) -> block_chains_iterator_t Get iterator pointing to the end of block_chains_t. @param set: (C : const block_chains_t  ) block_chains_t const  ",
"func":1
},
{
"ref":"ida_hexrays.block_chains_next",
"url":19,
"doc":"block_chains_next(p) -> block_chains_iterator_t Move to the next element. @param p: (C : block_chains_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.block_chains_prev",
"url":19,
"doc":"block_chains_prev(p) -> block_chains_iterator_t Move to the previous element. @param p: (C : block_chains_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.block_chains_erase",
"url":19,
"doc":"block_chains_erase(set, p) Erase current element from block_chains_t. @param set: (C : block_chains_t  ) @param p: (C : block_chains_iterator_t)",
"func":1
},
{
"ref":"ida_hexrays.block_chains_clear",
"url":19,
"doc":"block_chains_clear(set) Clear block_chains_t. @param set: (C : block_chains_t  )",
"func":1
},
{
"ref":"ida_hexrays.block_chains_size",
"url":19,
"doc":"block_chains_size(set) -> size_t Get size of block_chains_t. @param set: (C : block_chains_t  )",
"func":1
},
{
"ref":"ida_hexrays.block_chains_free",
"url":19,
"doc":"block_chains_free(set) Delete block_chains_t instance. @param set: (C : block_chains_t  )",
"func":1
},
{
"ref":"ida_hexrays.block_chains_new",
"url":19,
"doc":"block_chains_new() -> block_chains_t Create a new block_chains_t instance.",
"func":1
},
{
"ref":"ida_hexrays.is_allowed_on_small_struni",
"url":19,
"doc":"accepts_small_udts(op) -> bool Is the operator allowed on small structure or union? @param op: (C : ctype_t) enum ctype_t",
"func":1
},
{
"ref":"ida_hexrays.is_small_struni",
"url":19,
"doc":"is_small_udt(tif) -> bool Is a small structure or union? @param tif: (C : const tinfo_t &) tinfo_t const & @return: true if the type is a small UDT (user defined type). Small UDTs fit into a register (or pair or registers) as a rule.",
"func":1
},
{
"ref":"ida_hexrays.mba_t",
"url":19,
"doc":"Proxy of C mba_t class."
},
{
"ref":"ida_hexrays.mba_t.thisown",
"url":19,
"doc":"The membership flag"
},
{
"ref":"ida_hexrays.mba_t.precise_defeas",
"url":19,
"doc":"precise_defeas(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.optimized",
"url":19,
"doc":"optimized(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.short_display",
"url":19,
"doc":"short_display(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.show_reduction",
"url":19,
"doc":"show_reduction(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.graph_insns",
"url":19,
"doc":"graph_insns(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.loaded_gdl",
"url":19,
"doc":"loaded_gdl(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.should_beautify",
"url":19,
"doc":"should_beautify(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.rtype_refined",
"url":19,
"doc":"rtype_refined(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.may_refine_rettype",
"url":19,
"doc":"may_refine_rettype(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.use_wingraph32",
"url":19,
"doc":"use_wingraph32(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.display_numaddrs",
"url":19,
"doc":"display_numaddrs(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.display_valnums",
"url":19,
"doc":"display_valnums(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.is_pattern",
"url":19,
"doc":"is_pattern(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.is_thunk",
"url":19,
"doc":"is_thunk(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.saverest_done",
"url":19,
"doc":"saverest_done(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.callinfo_built",
"url":19,
"doc":"callinfo_built(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.really_alloc",
"url":19,
"doc":"really_alloc(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.lvars_allocated",
"url":19,
"doc":"lvars_allocated(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.chain_varnums_ok",
"url":19,
"doc":"chain_varnums_ok(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.returns_fpval",
"url":19,
"doc":"returns_fpval(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.has_passregs",
"url":19,
"doc":"has_passregs(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.generated_asserts",
"url":19,
"doc":"generated_asserts(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.propagated_asserts",
"url":19,
"doc":"propagated_asserts(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.deleted_pairs",
"url":19,
"doc":"deleted_pairs(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.common_stkvars_stkargs",
"url":19,
"doc":"common_stkvars_stkargs(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.lvar_names_ok",
"url":19,
"doc":"lvar_names_ok(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.lvars_renamed",
"url":19,
"doc":"lvars_renamed(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.has_over_chains",
"url":19,
"doc":"has_over_chains(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.valranges_done",
"url":19,
"doc":"valranges_done(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.argidx_ok",
"url":19,
"doc":"argidx_ok(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.argidx_sorted",
"url":19,
"doc":"argidx_sorted(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.code16_bit_removed",
"url":19,
"doc":"code16_bit_removed(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.has_stack_retval",
"url":19,
"doc":"has_stack_retval(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.has_outlines",
"url":19,
"doc":"has_outlines(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.is_ctr",
"url":19,
"doc":"is_ctr(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.is_dtr",
"url":19,
"doc":"is_dtr(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.is_cdtr",
"url":19,
"doc":"is_cdtr(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.prop_complex",
"url":19,
"doc":"prop_complex(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.get_mba_flags",
"url":19,
"doc":"get_mba_flags(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.mba_t.get_mba_flags2",
"url":19,
"doc":"get_mba_flags2(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.mba_t.set_mba_flags",
"url":19,
"doc":"set_mba_flags(self, f) @param f: int",
"func":1
},
{
"ref":"ida_hexrays.mba_t.clr_mba_flags",
"url":19,
"doc":"clr_mba_flags(self, f) @param f: int",
"func":1
},
{
"ref":"ida_hexrays.mba_t.set_mba_flags2",
"url":19,
"doc":"set_mba_flags2(self, f) @param f: int",
"func":1
},
{
"ref":"ida_hexrays.mba_t.clr_mba_flags2",
"url":19,
"doc":"clr_mba_flags2(self, f) @param f: int",
"func":1
},
{
"ref":"ida_hexrays.mba_t.clr_cdtr",
"url":19,
"doc":"clr_cdtr(self)",
"func":1
},
{
"ref":"ida_hexrays.mba_t.calc_shins_flags",
"url":19,
"doc":"calc_shins_flags(self) -> int",
"func":1
},
{
"ref":"ida_hexrays.mba_t.stkoff_vd2ida",
"url":19,
"doc":"stkoff_vd2ida(self, off) -> sval_t @param off: sval_t",
"func":1
},
{
"ref":"ida_hexrays.mba_t.stkoff_ida2vd",
"url":19,
"doc":"stkoff_ida2vd(self, off) -> sval_t @param off: sval_t",
"func":1
},
{
"ref":"ida_hexrays.mba_t.argbase",
"url":19,
"doc":"argbase(self) -> sval_t",
"func":1
},
{
"ref":"ida_hexrays.mba_t.idaloc2vd",
"url":19,
"doc":"idaloc2vd(self, loc, width) -> vdloc_t @param loc: argloc_t const & @param width: int",
"func":1
},
{
"ref":"ida_hexrays.mba_t.vd2idaloc",
"url":19,
"doc":"vd2idaloc(self, loc, width, spd) -> argloc_t @param loc: vdloc_t const & @param width: int @param spd: sval_t vd2idaloc(self, loc, width) -> argloc_t @param loc: vdloc_t const & @param width: int",
"func":1
},
{
"ref":"ida_hexrays.mba_t.is_stkarg",
"url":19,
"doc":"is_stkarg(self, v) -> bool @param v: lvar_t const &",
"func":1
},
{
"ref":"ida_hexrays.mba_t.get_ida_argloc",
"url":19,
"doc":"get_ida_argloc(self, v) -> argloc_t @param v: lvar_t const &",
"func":1
},
{
"ref":"ida_hexrays.mba_t.mbr",
"url":19,
"doc":"mbr"
},
{
"ref":"ida_hexrays.mba_t.entry_ea",
"url":19,
"doc":"entry_ea"
},
{
"ref":"ida_hexrays.mba_t.last_prolog_ea",
"url":19,
"doc":"last_prolog_ea"
},
{
"ref":"ida_hexrays.mba_t.first_epilog_ea",
"url":19,
"doc":"first_epilog_ea"
},
{
"ref":"ida_hexrays.mba_t.qty",
"url":19,
"doc":"number of basic blocks"
},
{
"ref":"ida_hexrays.mba_t.npurged",
"url":19,
"doc":"-1 - unknown"
},
{
"ref":"ida_hexrays.mba_t.cc",
"url":19,
"doc":"calling convention"
},
{
"ref":"ida_hexrays.mba_t.tmpstk_size",
"url":19,
"doc":"size of the temporary stack part (which dynamically changes with push/pops)"
},
{
"ref":"ida_hexrays.mba_t.frsize",
"url":19,
"doc":"size of local stkvars range in the stack frame"
},
{
"ref":"ida_hexrays.mba_t.frregs",
"url":19,
"doc":"size of saved registers range in the stack frame"
},
{
"ref":"ida_hexrays.mba_t.fpd",
"url":19,
"doc":"frame pointer delta"
},
{
"ref":"ida_hexrays.mba_t.pfn_flags",
"url":19,
"doc":"copy of func_t flags"
},
{
"ref":"ida_hexrays.mba_t.retsize",
"url":19,
"doc":"size of return address in the stack frame"
},
{
"ref":"ida_hexrays.mba_t.shadow_args",
"url":19,
"doc":"size of shadow argument area"
},
{
"ref":"ida_hexrays.mba_t.fullsize",
"url":19,
"doc":"Full stack size including incoming args."
},
{
"ref":"ida_hexrays.mba_t.stacksize",
"url":19,
"doc":"The maximal size of the function stack including bytes allocated for outgoing call arguments (up to retaddr)"
},
{
"ref":"ida_hexrays.mba_t.inargoff",
"url":19,
"doc":"offset of the first stack argument; after fix_scattered_movs() INARGOFF may be less than STACKSIZE"
},
{
"ref":"ida_hexrays.mba_t.minstkref",
"url":19,
"doc":"The lowest stack location whose address was taken."
},
{
"ref":"ida_hexrays.mba_t.minstkref_ea",
"url":19,
"doc":"address with lowest minstkref (for debugging)"
},
{
"ref":"ida_hexrays.mba_t.minargref",
"url":19,
"doc":"The lowest stack argument location whose address was taken This location and locations above it can be aliased It controls locations >= inargoff-shadow_args"
},
{
"ref":"ida_hexrays.mba_t.spd_adjust",
"url":19,
"doc":"If sp>0, the max positive sp value."
},
{
"ref":"ida_hexrays.mba_t.gotoff_stkvars",
"url":19,
"doc":"stkvars that hold .got offsets. considered to be unaliasable"
},
{
"ref":"ida_hexrays.mba_t.restricted_memory",
"url":19,
"doc":"restricted_memory"
},
{
"ref":"ida_hexrays.mba_t.aliased_memory",
"url":19,
"doc":"aliased_memory+restricted_memory=ALLMEM"
},
{
"ref":"ida_hexrays.mba_t.nodel_memory",
"url":19,
"doc":"global dead elimination may not delete references to this area"
},
{
"ref":"ida_hexrays.mba_t.consumed_argregs",
"url":19,
"doc":"registers converted into stack arguments, should not be used as arguments"
},
{
"ref":"ida_hexrays.mba_t.maturity",
"url":19,
"doc":"current maturity level"
},
{
"ref":"ida_hexrays.mba_t.reqmat",
"url":19,
"doc":"required maturity level"
},
{
"ref":"ida_hexrays.mba_t.final_type",
"url":19,
"doc":"is the function type final? (specified by the user)"
},
{
"ref":"ida_hexrays.mba_t.idb_type",
"url":19,
"doc":"function type as retrieved from the database"
},
{
"ref":"ida_hexrays.mba_t.idb_spoiled",
"url":19,
"doc":"MBA_SPLINFO  final_type: info in ida format."
},
{
"ref":"ida_hexrays.mba_t.spoiled_list",
"url":19,
"doc":"MBA_SPLINFO  !final_type: info in vd format."
},
{
"ref":"ida_hexrays.mba_t.fti_flags",
"url":19,
"doc":"FTI_ . constants for the current function."
},
{
"ref":"ida_hexrays.mba_t.label",
"url":19,
"doc":"name of the function or pattern (colored)"
},
{
"ref":"ida_hexrays.mba_t.vars",
"url":19,
"doc":"local variables"
},
{
"ref":"ida_hexrays.mba_t.argidx",
"url":19,
"doc":"input arguments (indexes into 'vars')"
},
{
"ref":"ida_hexrays.mba_t.retvaridx",
"url":19,
"doc":"index of variable holding the return value -1 means none"
},
{
"ref":"ida_hexrays.mba_t.error_ea",
"url":19,
"doc":"during microcode generation holds ins.ea"
},
{
"ref":"ida_hexrays.mba_t.error_strarg",
"url":19,
"doc":"error_strarg"
},
{
"ref":"ida_hexrays.mba_t.blocks",
"url":19,
"doc":"double linked list of blocks"
},
{
"ref":"ida_hexrays.mba_t.natural",
"url":19,
"doc":"natural order of blocks"
},
{
"ref":"ida_hexrays.mba_t.std_ivls",
"url":19,
"doc":"we treat memory as consisting of 6 parts see memreg_index_t"
},
{
"ref":"ida_hexrays.mba_t.notes",
"url":19,
"doc":"notes"
},
{
"ref":"ida_hexrays.mba_t.occurred_warns",
"url":19,
"doc":"occurred_warns"
},
{
"ref":"ida_hexrays.mba_t.write_to_const_detected",
"url":19,
"doc":"write_to_const_detected(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.bad_call_sp_detected",
"url":19,
"doc":"bad_call_sp_detected(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.regargs_is_not_aligned",
"url":19,
"doc":"regargs_is_not_aligned(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.has_bad_sp",
"url":19,
"doc":"has_bad_sp(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.term",
"url":19,
"doc":"term(self)",
"func":1
},
{
"ref":"ida_hexrays.mba_t.get_curfunc",
"url":19,
"doc":"get_curfunc(self) -> func_t  ",
"func":1
},
{
"ref":"ida_hexrays.mba_t.use_frame",
"url":19,
"doc":"use_frame(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.is_snippet",
"url":19,
"doc":"is_snippet(self) -> bool",
"func":1
},
{
"ref":"ida_hexrays.mba_t.set_maturity",
"url":19,
"doc":"set_maturity(self, mat) -> bool Set maturity level. @param mat: (C : mba_maturity_t) new maturity level @return: true if it is time to stop analysis Plugins may use this function to skip some parts of the analysis. The maturity level cannot be decreased.",
"func":1
},
{
"ref":"ida_hexrays.mba_t.optimize_local",
"url":19,
"doc":"optimize_local(self, locopt_bits) -> int Optimize each basic block locally @param locopt_bits: (C : int) combination of Bits for optimize_local() bits @return: number of changes. 0 means nothing changed This function is called by the decompiler, usually there is no need to call it explicitly.",
"func":1
},
{
"ref":"ida_hexrays.mba_t.build_graph",
"url":19,
"doc":"build_graph(self) -> merror_t Build control flow graph. This function may be called only once. It calculates the type of each basic block and the adjacency list. optimize_local() calls this function if necessary. You need to call this function only before MMAT_LOCOPT. @return: error code",
"func":1
},
{
"ref":"ida_hexrays.mba_t.get_graph",
"url":19,
"doc":"get_graph(self) -> mbl_graph_t Get control graph. Call build_graph() if you need the graph before MMAT_LOCOPT.",
"func":1
},
{
"ref":"ida_hexrays.mba_t.analyze_calls",
"url":19,
"doc":"analyze_calls(self, acflags) -> int Analyze calls and determine calling conventions. @param acflags: (C : int) permitted actions that are necessary for successful detection of calling conventions. See Bits for analyze_calls() @return: number of calls. -1 means error.",
"func":1
},
{
"ref":"ida_hexrays.mba_t.optimize_global",
"url":19,
"doc":"optimize_global(self) -> merror_t Optimize microcode globally. This function applies various optimization methods until we reach the fixed point. After that it preallocates lvars unless reqmat forbids it. @return: error code",
"func":1
},
{
"ref":"ida_hexrays.mba_t.alloc_lvars",
"url":19,
"doc":"alloc_lvars(self) Allocate local variables. Must be called only immediately after optimize_global(), with no modifications to the microcode. Converts registers, stack variables, and similar operands into mop_l. This call will not fail because all necessary checks were performed in optimize_global(). After this call the microcode reaches its final state.",
"func":1
},
{
"ref":"ida_hexrays.mba_t.dump",
"url":19,
"doc":"dump(self) Dump microcode to a file. The file will be created in the directory pointed by IDA_DUMPDIR envvar. Dump will be created only if IDA is run under debugger.",
"func":1
},
{
"ref":"ida_hexrays.mba_t.dump_mba",
"url":19,
"doc":"dump_mba(self, _verify, title) @param _verify: bool @param title: char const  ",
"func":1
},
{
"ref":"ida_hexrays.mba_t.verify",
"url":19,
"doc":"verify(self, always) Verify microcode consistency. @param always: (C : bool) if false, the check will be performed only if ida runs under debugger If any inconsistency is discovered, an internal error will be generated. We strongly recommend you to call this function before returing control to the decompiler from your callbacks, in the case if you modified the microcode. If the microcode is inconsistent, this function will generate an internal error. We provide the source code of this function in the plugins/hexrays_sdk/verifier directory for your reference.",
"func":1
},
{
"ref":"ida_hexrays.mba_t.mark_chains_dirty",
"url":19,
"doc":"mark_chains_dirty(self) Mark the microcode use-def chains dirty. Call this function is any inter-block data dependencies got changed because of your modifications to the microcode. Failing to do so may cause an internal error.",
"func":1
},
{
"ref":"ida_hexrays.mba_t.get_mblock",
"url":19,
"doc":"get_mblock(self, n) -> mblock_t @param n: uint",
"func":1
},
{
"ref":"ida_hexrays.mba_t.insert_block",
"url":19,
"doc":"insert_block(self, bblk) -> mblock_t Insert a block in the middle of the mbl array. The very first block of microcode must be empty, it is the entry block. The very last block of microcode must be BLT_STOP, it is the exit block. Therefore inserting a new block before the entry point or after the exit block is not a good idea. @param bblk: (C : int) the new block will be inserted before BBLK @return: ptr to the new block",
"func":1
},
{
"ref":"ida_hexrays.mba_t.split_block",
"url":19,
"doc":"split_block(self, blk, start_insn) -> mblock_t Split a block: insert a new one after the block, move some instructions to new block @param blk: (C : mblock_t  ) block to be split @param start_insn: (C : minsn_t  ) all instructions to be moved to new block: starting with this one up to the end @return: ptr to the new block",
"func":1
},
{
"ref":"ida_hexrays.mba_t.remove_block",
"url":19,
"doc":"remove_block(self, blk) -> bool Delete a block. @param blk: (C : mblock_t  ) block to delete @return: true if at least one of the other blocks became empty or unreachable",
"func":1
},
{
"ref":"ida_hexrays.mba_t.remove_blocks",
"url":19,
"doc":"remove_blocks(self, start_blk, end_blk) -> bool @param start_blk: int @param end_blk: int",
"func":1
},
{
"ref":"ida_hexrays.mba_t.copy_block",
"url":19,
"doc":"copy_block(self, blk, new_serial, cpblk_flags=3) -> mblock_t Make a copy of a block. This function makes a simple copy of the block. It does not fix the predecessor and successor lists, they must be fixed if necessary. @param blk: (C : mblock_t  ) block to copy @param new_serial: (C : int) position of the copied block @param cpblk_flags: (C : int) combination of Batch decompilation bits . bits @return: pointer to the new copy",
"func":1
},
{
"ref":"ida_hexrays.mba_t.remove_empty_and_unreachable_blocks",
"url":19,
"doc":"remove_empty_and_unreachable_blocks(self) -> bool Delete all empty and unreachable blocks. Blocks marked with MBL_KEEP won't be deleted.",
"func":1
},
{
"ref":"ida_hexrays.mba_t.merge_blocks",
"url":19,
"doc":"merge_blocks(self) -> bool Merge blocks. This function merges blocks constituting linear flow. It calls remove_empty_and_unreachable_blocks() as well. @return: true if changed any blocks",
"func":1
},
{
"ref":"ida_hexrays.mba_t.for_all_ops",
"url":19,
"doc":"for_all_ops(self, mv) -> int Visit all operands of all instructions. @param mv: (C : mop_visitor_t &) operand visitor @return: non-zero value returned by mv.visit_mop() or zero",
"func":1
},
{
"ref":"ida_hexrays.mba_t.for_all_insns",
"url":19,
"doc":"for_all_insns(self, mv) -> int Visit all instructions. This function visits all instruction and subinstructions. @param mv: (C : minsn_visitor_t &) instruction visitor @return: non-zero value returned by mv.visit_mop() or zero",
"func":1
},
{
"ref":"ida_hexrays.mba_t.for_all_topinsns",
"url":19,
"doc":"for_all_topinsns(self, mv) -> int Visit all top level instructions. @param mv: (C : minsn_visitor_t &) instruction visitor @return: non-zero value returned by mv.visit_mop() or zero",
"func":1
},
{
"ref":"ida_hexrays.mba_t.find_mop",
"url":19,
"doc":"find_mop(self, ctx, ea, is_dest, list) -> mop_t Find an operand in the microcode. This function tries to find the operand that matches LIST. Any operand that overlaps with LIST is considered as a match. @param ctx: (C : op_parent_info_t  ) context information for the result @param ea: (C : ea_t) desired address of the operand. BADADDR means to accept any address. @param is_dest: (C : bool) search for destination operand? this argument may be ignored if the exact match could not be found @param list: (C : const mlist_t &) list of locations the correspond to the operand @return: pointer to the operand or nullptr.",
"func":1
},
{
"ref":"ida_hexrays.mba_t.create_helper_call",
"url":19,
"doc":"create_helper_call(self, ea, helper, rettype=None, callargs=None, out=None) -> minsn_t Create a call of a helper function. @param ea: (C : ea_t) The desired address of the instruction @param helper: (C : const char  ) The helper name @param rettype: (C : const tinfo_t  ) The return type (nullptr or empty type means 'void') @param callargs: (C : const mcallargs_t  ) The helper arguments (nullptr-no arguments) @param out: (C : const mop_t  ) The operand where the call result should be stored. If this argument is not nullptr, \"mov helper_call(), out\" will be generated. Otherwise \"call helper()\" will be generated. Note: the size of this operand must be equal to the RETTYPE size @return: pointer to the created instruction or nullptr if error",
"func":1
},
{
"ref":"ida_hexrays.mba_t.get_func_output_lists",
"url":19,
"doc":"get_func_output_lists(self, return_regs, spoiled, type, call_ea=BADADDR, tail_call=False) Prepare the lists of registers & memory that are defined/killed by a function @param return_regs: (C : mlist_t  ) defined regs to return (eax,edx) @param spoiled: (C : mlist_t  ) spoiled regs (flags,ecx,mem) @param type: (C : const tinfo_t &) the function type @param call_ea: (C : ea_t) the call insn address (if known) @param tail_call: (C : bool) is it the tail call?",
"func":1
},
{
"ref":"ida_hexrays.mba_t.arg",
"url":19,
"doc":"arg(self, n) -> lvar_t @param n: int",
"func":1
},
{
"ref":"ida_hexrays.mba_t.alloc_fict_ea",
"url":19,
"doc":"alloc_fict_ea(self, real_ea) -> ea_t Allocate a fictional address. This function can be used to allocate a new unique address for a new instruction, if re-using any existing address leads to conflicts. For example, if the last instruction of the function modifies R0 and falls through to the next function, it will be a tail call: LDM R0!, {R4,R7} end of the function start of another function In this case R0 generates two different lvars at the same address:  one modified by LDM  another that represents the return value from the tail call Another example: a third-party plugin makes a copy of an instruction. This may lead to the generation of two variables at the same address. Example 3: fictional addresses can be used for new instructions created while modifying the microcode. This function can be used to allocate a new unique address for a new instruction or a variable. The fictional address is selected from an unallocated address range. @param real_ea: (C : ea_t) real instruction address (BADADDR is ok too) @return: a unique fictional address",
"func":1
},
{
"ref":"ida_hexrays.mba_t.map_fict_ea",
"url":19,
"doc":"map_fict_ea(self, fict_ea) -> ea_t Resolve a fictional address. This function provides a reverse of the mapping made by alloc_fict_ea(). @param fict_ea: (C : ea_t) fictional definition address @return: the real instruction address",
"func":1
},
{
"ref":"ida_hexrays.mba_t.get_std_region",
"url":19,
"doc":"get_std_region(self, idx) -> ivl_t Get information about various memory regions. We map the stack frame to the global memory, to some unused range. @param idx: (C : memreg_index_t) enum memreg_index_t",
"func":1
},
{
"ref":"ida_hexrays.mba_t.get_lvars_region",
"url":19,
"doc":"get_lvars_region(self) -> ivl_t",
"func":1
},
{
"ref":"ida_hexrays.mba_t.get_shadow_region",
"url":19,
"doc":"get_shadow_region(self) -> ivl_t",
"func":1
},
{
"ref":"ida_hexrays.mba_t.get_args_region",
"url":19,
"doc":"get_args_region(self) -> ivl_t",
"func":1
},
{
"ref":"ida_hexrays.mba_t.get_stack_region",
"url":19,
"doc":"get_stack_region(self) -> ivl_t",
"func":1
},
{
"ref":"ida_hexrays.mba_t.serialize",
"url":19,
"doc":"serialize(self) Serialize mbl array into a sequence of bytes.",
"func":1
},
{
"ref":"ida_hexrays.mba_t.deserialize",
"url":19,
"doc":"deserialize(bytes) -> mba_t Deserialize a byte sequence into mbl array. @param bytes: (C : const uchar  ) pointer to the beginning of the byte sequence. @return: new mbl array",
"func":1
},
{
"ref":"ida_hexrays.mba_t.save_snapshot",
"url":19,
"doc":"save_snapshot(self, description) Create and save microcode snapshot. @param description: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_hexrays.mba_t.alloc_kreg",
"url":19,
"doc":"alloc_kreg(self, size, check_size=True) -> mreg_t Allocate a kernel register. @param size: (C : size_t) size of the register in bytes @param check_size: (C : bool) if true, only the sizes that correspond to a size of a basic type will be accepted. @return: allocated register. mr_none means failure.",
"func":1
},
{
"ref":"ida_hexrays.mba_t.free_kreg",
"url":19,
"doc":"free_kreg(self, reg, size) Free a kernel register. If wrong arguments are passed, this function will generate an internal error. @param reg: (C : mreg_t) a previously allocated kernel register @param size: (C : size_t) size of the register in bytes",
"func":1
},
{
"ref":"ida_hexrays.mba_t.inline_func",
"url":19,
"doc":"inline_func(self, cdg, blknum, ranges, decomp_flags=0, inline_flags=0) -> merror_t Inline a range. Currently only functions are supported, not arbitrary ranges. This function may be called only during the initial microcode generation phase. @param cdg: (C : codegen_t &) the codegenerator object @param blknum: (C : int) the block contaning the call/jump instruction to inline @param ranges: (C : mba_ranges_t &) the set of ranges to inline @param decomp_flags: (C : int) combination of decompile() flags bits @param inline_flags: (C : int) combination of inline_func() flags bits @return: error code",
"func":1
},
{
"ref":"ida_hexrays.mba_t.locate_stkpnt",
"url":19,
"doc":"locate_stkpnt(self, ea) -> stkpnt_t const  @param ea: ea_t",
"func":1
},
{
"ref":"ida_hexrays.mba_t.set_lvar_name",
"url":19,
"doc":"set_lvar_name(self, v, name, flagbits) -> bool @param v: lvar_t & @param name: char const  @param flagbits: int",
"func":1
},
{
"ref":"ida_hexrays.mba_t.set_nice_lvar_name",
"url":19,
"doc":"set_nice_lvar_name(self, v, name) -> bool @param v: lvar_t & @param name: char const  ",
"func":1
},
{
"ref":"ida_hexrays.mba_t.set_user_lvar_name",
"url":19,
"doc":"set_user_lvar_name(self, v, name) -> bool @param v: lvar_t & @param name: char const  ",
"func":1
},
{
"ref":"ida_hexrays.mba_t.idb_node",
"url":19,
"doc":""
},
{
"ref":"ida_hexrays.DecompilationFailure",
"url":19,
"doc":"Common base class for all non-exit exceptions."
},
{
"ref":"ida_hexrays.citem_to_specific_type",
"url":19,
"doc":"cast the citem_t object to its more specific type, either cexpr_t or cinsn_t.",
"func":1
},
{
"ref":"ida_hexrays.property_op_to_typename",
"url":19,
"doc":"",
"func":1
},
{
"ref":"ida_hexrays.cexpr_operands",
"url":19,
"doc":"return a dictionary with the operands of a cexpr_t.",
"func":1
},
{
"ref":"ida_hexrays.cinsn_details",
"url":19,
"doc":"return the details pointer for the cinsn_t object depending on the value of its op member. this is one of the cblock_t, cif_t, etc. objects.",
"func":1
},
{
"ref":"ida_hexrays.cfunc_type",
"url":19,
"doc":"Get the function's return type tinfo_t object.",
"func":1
},
{
"ref":"ida_hexrays.lnot",
"url":19,
"doc":"Logically negate the specified expression. The specified expression will be logically negated. For example, \"x  y\" is converted into \"x != y\" by this function. @return: logically negated expression.",
"func":1
},
{
"ref":"ida_hexrays.make_ref",
"url":19,
"doc":"Create a reference. This function performs the following conversion: \"obj\" => \"&obj\". It can handle casts, annihilate \"& \", and process other special cases.",
"func":1
},
{
"ref":"ida_hexrays.dereference",
"url":19,
"doc":"Dereference a pointer. This function dereferences a pointer expression. It performs the following conversion: \"ptr\" => \" ptr\" It can handle discrepancies in the pointer type and the access size. @return: dereferenced expression",
"func":1
},
{
"ref":"ida_hexrays.call_helper",
"url":19,
"doc":"Create a helper call.",
"func":1
},
{
"ref":"ida_hexrays.new_block",
"url":19,
"doc":"Create a new block-statement.",
"func":1
},
{
"ref":"ida_hexrays.make_num",
"url":19,
"doc":"Create a number expression",
"func":1
},
{
"ref":"ida_hexrays.create_helper",
"url":19,
"doc":"Create a helper object ",
"func":1
},
{
"ref":"ida_hexrays.install_hexrays_callback",
"url":19,
"doc":"Deprecated. Please use Hexrays_Hooks instead Install handler for decompiler events. @return: false if failed",
"func":1
},
{
"ref":"ida_hexrays.remove_hexrays_callback",
"url":19,
"doc":"Deprecated. Please use Hexrays_Hooks instead Uninstall handler for decompiler events. @return: number of uninstalled handlers.",
"func":1
},
{
"ref":"ida_idaapi",
"url":22,
"doc":""
},
{
"ref":"ida_idaapi.require",
"url":22,
"doc":"Load, or reload a module. When under heavy development, a user's tool might consist of multiple modules. If those are imported using the standard 'import' mechanism, there is no guarantee that the Python implementation will re-read and re-evaluate the module's Python code. In fact, it usually doesn't. What should be done instead is 'reload()'-ing that module. This is a simple helper function that will do just that: In case the module doesn't exist, it 'import's it, and if it does exist, 'reload()'s it. The importing module (i.e., the module calling require( will have the loaded module bound to its globals(), under the name 'modulename'. (If require() is called from the command line, the importing module will be '__main__'.) For more information, see:  .",
"func":1
},
{
"ref":"ida_idaapi.replfun",
"url":22,
"doc":"",
"func":1
},
{
"ref":"ida_idaapi.PY_ICID_INT64",
"url":22,
"doc":"int64 object"
},
{
"ref":"ida_idaapi.PY_ICID_BYREF",
"url":22,
"doc":"byref object"
},
{
"ref":"ida_idaapi.PY_ICID_OPAQUE",
"url":22,
"doc":"opaque object"
},
{
"ref":"ida_idaapi.ST_OVER_DEBUG_SEG",
"url":22,
"doc":"step tracing will be disabled when IP is in a debugger segment"
},
{
"ref":"ida_idaapi.ST_OVER_LIB_FUNC",
"url":22,
"doc":"step tracing will be disabled when IP is in a library function"
},
{
"ref":"ida_idaapi.pyidc_opaque_object_t",
"url":22,
"doc":"This is the base class for all Python IDC opaque objects"
},
{
"ref":"ida_idaapi.py_clinked_object_t",
"url":22,
"doc":"This is a utility and base class for C linked objects"
},
{
"ref":"ida_idaapi.py_clinked_object_t.copy",
"url":22,
"doc":"Returns a new copy of this class",
"func":1
},
{
"ref":"ida_idaapi.py_clinked_object_t.assign",
"url":22,
"doc":"Overwrite me. This method allows you to assign an instance contents to anothers @return: Boolean",
"func":1
},
{
"ref":"ida_idaapi.py_clinked_object_t.clink",
"url":22,
"doc":"Returns the C link as a PyObject"
},
{
"ref":"ida_idaapi.py_clinked_object_t.clink_ptr",
"url":22,
"doc":"Returns the C link pointer as a number"
},
{
"ref":"ida_idaapi.object_t",
"url":22,
"doc":"Helper class used to initialize empty objects"
},
{
"ref":"ida_idaapi.plugin_t",
"url":22,
"doc":"Base class for all scripted plugins."
},
{
"ref":"ida_idaapi.plugin_t.run",
"url":22,
"doc":"",
"func":1
},
{
"ref":"ida_idaapi.plugin_t.term",
"url":22,
"doc":"",
"func":1
},
{
"ref":"ida_idaapi.plugmod_t",
"url":22,
"doc":"Base class for all scripted multi-plugins."
},
{
"ref":"ida_idaapi.pyidc_cvt_helper__",
"url":22,
"doc":"This is a special helper object that helps detect which kind of object is this python object wrapping and how to convert it back and from IDC. This object is characterized by its special attribute and its value"
},
{
"ref":"ida_idaapi.pyidc_cvt_helper__.value",
"url":22,
"doc":""
},
{
"ref":"ida_idaapi.PyIdc_cvt_int64__",
"url":22,
"doc":"Helper class for explicitly representing VT_INT64 values"
},
{
"ref":"ida_idaapi.PyIdc_cvt_refclass__",
"url":22,
"doc":"Helper class for representing references to immutable objects"
},
{
"ref":"ida_idaapi.PyIdc_cvt_refclass__.cstr",
"url":22,
"doc":"Returns the string as a C string (up to the zero termination)",
"func":1
},
{
"ref":"ida_idaapi.as_cstr",
"url":22,
"doc":"Returns a C str from the passed value. The passed value can be of type refclass (returned by a call to buffer() or byref( It scans for the first \\x00 and returns the string value up to that point.",
"func":1
},
{
"ref":"ida_idaapi.as_UTF16",
"url":22,
"doc":"Convenience function to convert a string into appropriate unicode format",
"func":1
},
{
"ref":"ida_idaapi.as_unicode",
"url":22,
"doc":"Convenience function to convert a string into appropriate unicode format",
"func":1
},
{
"ref":"ida_idaapi.as_uint32",
"url":22,
"doc":"Returns a number as an unsigned int32 number",
"func":1
},
{
"ref":"ida_idaapi.as_int32",
"url":22,
"doc":"Returns a number as a signed int32 number",
"func":1
},
{
"ref":"ida_idaapi.as_signed",
"url":22,
"doc":"Returns a number as signed. The number of bits are specified by the user. The MSB holds the sign.",
"func":1
},
{
"ref":"ida_idaapi.TRUNC",
"url":22,
"doc":"Truncate EA for the current application bitness",
"func":1
},
{
"ref":"ida_idaapi.copy_bits",
"url":22,
"doc":"Copy bits from a value @param v: the value @param s: starting bit (0-based) @param e: ending bit",
"func":1
},
{
"ref":"ida_idaapi.struct_unpack",
"url":22,
"doc":"Unpack a buffer given its length and offset using struct.unpack_from(). This function will know how to unpack the given buffer by using the lookup table '__struct_unpack_table' If the buffer is of unknown length then None is returned. Otherwise the unpacked value is returned.",
"func":1
},
{
"ref":"ida_idaapi.IDAPython_ExecSystem",
"url":22,
"doc":"Executes a command with popen().",
"func":1
},
{
"ref":"ida_idaapi.IDAPython_FormatExc",
"url":22,
"doc":"This function is used to format an exception given the values returned by a PyErr_Fetch()",
"func":1
},
{
"ref":"ida_idaapi.IDAPython_ExecScript",
"url":22,
"doc":"Run the specified script. This function is used by the low-level plugin code.",
"func":1
},
{
"ref":"ida_idaapi.IDAPython_LoadProcMod",
"url":22,
"doc":"Load processor module.",
"func":1
},
{
"ref":"ida_idaapi.IDAPython_UnLoadProcMod",
"url":22,
"doc":"Unload processor module.",
"func":1
},
{
"ref":"ida_idaapi.IDAPython_GetDocstrings",
"url":22,
"doc":"",
"func":1
},
{
"ref":"ida_idaapi.NW_OPENIDB",
"url":22,
"doc":"Notify when the database is opened. Its callback is of the form: def notify_when_callback(nw_code, is_old_database)"
},
{
"ref":"ida_idaapi.NW_CLOSEIDB",
"url":22,
"doc":"Notify when the database is closed. Its callback is of the form: def notify_when_callback(nw_code)"
},
{
"ref":"ida_idaapi.NW_INITIDA",
"url":22,
"doc":"Notify when the IDA starts. Its callback is of the form: def notify_when_callback(nw_code)"
},
{
"ref":"ida_idaapi.NW_TERMIDA",
"url":22,
"doc":"Notify when the IDA terminates. Its callback is of the form: def notify_when_callback(nw_code)"
},
{
"ref":"ida_idaapi.NW_REMOVE",
"url":22,
"doc":"Use this flag with other flags to uninstall a notifywhen callback"
},
{
"ref":"ida_idaapi.notify_when",
"url":22,
"doc":"Register a callback that will be called when an event happens. @param when: one of NW_XXXX constants @param callback: This callback prototype varies depending on the 'when' parameter: The general callback format: def notify_when_callback(nw_code) In the case of NW_OPENIDB: def notify_when_callback(nw_code, is_old_database) @return: Boolean",
"func":1
},
{
"ref":"ida_idaapi.IDAPython_displayhook",
"url":22,
"doc":""
},
{
"ref":"ida_idaapi.IDAPython_displayhook.format_seq",
"url":22,
"doc":"",
"func":1
},
{
"ref":"ida_idaapi.IDAPython_displayhook.format_item",
"url":22,
"doc":"",
"func":1
},
{
"ref":"ida_idaapi.IDAPython_displayhook.displayhook",
"url":22,
"doc":"",
"func":1
},
{
"ref":"ida_idaapi.parse_command_line3",
"url":22,
"doc":"parse_command_line3(cmdline) -> PyObject  @param cmdline: char const  ",
"func":1
},
{
"ref":"ida_idaapi.set_script_timeout",
"url":22,
"doc":"set_script_timeout(timeout) -> int Changes the script timeout value. The script wait box dialog will be hidden and shown again when the timeout elapses. See also L{disable_script_timeout}. @param timeout: This value is in seconds. If this value is set to zero then the script will never timeout. @return: Returns the old timeout value",
"func":1
},
{
"ref":"ida_idaapi.disable_script_timeout",
"url":22,
"doc":"disable_script_timeout() Disables the script timeout and hides the script wait box. Calling L{set_script_timeout} will not have any effects until the script is compiled and executed again @return: None",
"func":1
},
{
"ref":"ida_idaapi.enable_extlang_python",
"url":22,
"doc":"enable_extlang_python(enable) Enables or disables Python extlang. When enabled, all expressions will be evaluated by Python. @param enable: Set to True to enable, False otherwise",
"func":1
},
{
"ref":"ida_idaapi.enable_python_cli",
"url":22,
"doc":"enable_python_cli(enable) @param enable: bool",
"func":1
},
{
"ref":"ida_idaapi.format_basestring",
"url":22,
"doc":"format_basestring(_in) -> str @param _in: PyObject  ",
"func":1
},
{
"ref":"ida_idaapi.pygc_refresh",
"url":22,
"doc":"pygc_refresh(_self) @param self: PyObject  ",
"func":1
},
{
"ref":"ida_idaapi.pygc_create_groups",
"url":22,
"doc":"pygc_create_groups(_self, groups_infos) -> [int,  .] or None @param self: PyObject  @param groups_infos: PyObject  ",
"func":1
},
{
"ref":"ida_idaapi.pygc_delete_groups",
"url":22,
"doc":"pygc_delete_groups(_self, groups, new_current) -> bool @param self: PyObject  @param groups: PyObject  @param new_current: PyObject  ",
"func":1
},
{
"ref":"ida_idaapi.pygc_set_groups_visibility",
"url":22,
"doc":"pygc_set_groups_visibility(_self, groups, expand, new_current) -> bool @param self: PyObject  @param groups: PyObject  @param expand: PyObject  @param new_current: PyObject  ",
"func":1
},
{
"ref":"ida_idaapi.pycim_get_widget",
"url":22,
"doc":"pycim_get_widget(_self) -> TWidget  @param self: PyObject  ",
"func":1
},
{
"ref":"ida_idaapi.pycim_view_close",
"url":22,
"doc":"pycim_view_close(_self) @param self: PyObject  ",
"func":1
},
{
"ref":"ida_idaapi.loader_input_t",
"url":22,
"doc":"A helper class to work with linput_t related functions. This class is also used by file loaders scripts. __init__(self, pycapsule=None) -> loader_input_t @param pycapsule: PyObject  "
},
{
"ref":"ida_idaapi.loader_input_t.thisown",
"url":22,
"doc":"The membership flag"
},
{
"ref":"ida_idaapi.loader_input_t.close",
"url":22,
"doc":"close(self) Closes the file",
"func":1
},
{
"ref":"ida_idaapi.loader_input_t.open",
"url":22,
"doc":"open(self, filename, remote=False) -> bool Opens a file (or a remote file) @param filename: char const  @param remote: bool @return: Boolean",
"func":1
},
{
"ref":"ida_idaapi.loader_input_t.set_linput",
"url":22,
"doc":"set_linput(self, linput) Links the current loader_input_t instance to a linput_t instance @param linput: linput_t  ",
"func":1
},
{
"ref":"ida_idaapi.loader_input_t.from_linput",
"url":22,
"doc":"from_linput(linput) -> loader_input_t @param linput: linput_t  ",
"func":1
},
{
"ref":"ida_idaapi.loader_input_t.from_capsule",
"url":22,
"doc":"from_capsule(pycapsule) -> loader_input_t @param pycapsule: PyObject  ",
"func":1
},
{
"ref":"ida_idaapi.loader_input_t.from_fp",
"url":22,
"doc":"from_fp(fp) -> loader_input_t A static method to construct an instance from a FILE @param fp: FILE  ",
"func":1
},
{
"ref":"ida_idaapi.loader_input_t.get_linput",
"url":22,
"doc":"get_linput(self) -> linput_t  ",
"func":1
},
{
"ref":"ida_idaapi.loader_input_t.open_memory",
"url":22,
"doc":"open_memory(self, start, size=0) -> bool Create a linput for process memory (By internally calling idaapi.create_memory_linput( This linput will use dbg->read_memory() to read data @param start: starting address of the input @param size: size of the memory range to represent as linput if unknown, may be passed as 0",
"func":1
},
{
"ref":"ida_idaapi.loader_input_t.seek",
"url":22,
"doc":"seek(self, pos, whence=SEEK_SET) -> int64 Set input source position @param pos: int64 @param whence: int @return: the new position (not 0 as fseek!)",
"func":1
},
{
"ref":"ida_idaapi.loader_input_t.tell",
"url":22,
"doc":"tell(self) -> int64 Returns the current position",
"func":1
},
{
"ref":"ida_idaapi.loader_input_t.getz",
"url":22,
"doc":"getz(self, sz, fpos=-1) -> PyObject Returns a zero terminated string at the given position @param sz: maximum size of the string @param fpos: if != -1 then seek will be performed before reading @return: The string or None on failure.",
"func":1
},
{
"ref":"ida_idaapi.loader_input_t.gets",
"url":22,
"doc":"gets(self, len) -> str Reads a line from the input file. Returns the read line or None @param len: size_t",
"func":1
},
{
"ref":"ida_idaapi.loader_input_t.read",
"url":22,
"doc":"read(self, size=size_t(-1 -> PyObject Read up to size bytes (all data if size is negative). Return an empty bytes object on EOF. @param size: size_t",
"func":1
},
{
"ref":"ida_idaapi.loader_input_t.opened",
"url":22,
"doc":"opened(self) -> bool Checks if the file is opened or not",
"func":1
},
{
"ref":"ida_idaapi.loader_input_t.readbytes",
"url":22,
"doc":"readbytes(self, size, big_endian) -> PyObject  Similar to read() but it respect the endianness @param size: size_t @param big_endian: bool",
"func":1
},
{
"ref":"ida_idaapi.loader_input_t.file2base",
"url":22,
"doc":"file2base(self, pos, ea1, ea2, patchable) -> int Load portion of file into the database This function will include (ea1 ea2) into the addressing space of the program (make it enabled) @param pos: position in the file @param ea1:  ea2): range of destination linear addresses @param ea1:  ea2): range of destination linear addresses @param patchable: should the kernel remember correspondance of file offsets to linear addresses. @return: 1-ok,0-read error, a warning is displayed",
"func":1
},
{
"ref":"ida_idaapi.loader_input_t.size",
"url":22,
"doc":"size(self) -> int64",
"func":1
},
{
"ref":"ida_idaapi.loader_input_t.filename",
"url":22,
"doc":"filename(self) -> PyObject  ",
"func":1
},
{
"ref":"ida_idaapi.loader_input_t.get_byte",
"url":22,
"doc":"get_byte(self) -> PyObject  Reads a single byte from the file. Returns None if EOF or the read byte",
"func":1
},
{
"ref":"ida_idc",
"url":23,
"doc":""
},
{
"ref":"ida_idc.mark_position",
"url":23,
"doc":"mark_position(ea, lnnum, x, y, slot, comment) @param ea: ea_t @param lnnum: int @param x: short @param y: short @param slot: int32 @param comment: char const  ",
"func":1
},
{
"ref":"ida_idc.get_marked_pos",
"url":23,
"doc":"get_marked_pos(slot) -> ea_t @param slot: int32",
"func":1
},
{
"ref":"ida_idc.get_mark_comment",
"url":23,
"doc":"get_mark_comment(slot) -> PyObject  @param slot: int32",
"func":1
},
{
"ref":"ida_idd",
"url":24,
"doc":"Contains definition of the interface to IDD modules. The interface consists of structures describing the target debugged processor and a debugging API."
},
{
"ref":"ida_idd.excvec_t",
"url":24,
"doc":"Proxy of C qvector class. __init__(self) -> excvec_t __init__(self, x) -> excvec_t @param x: qvector const &"
},
{
"ref":"ida_idd.excvec_t.thisown",
"url":24,
"doc":"The membership flag"
},
{
"ref":"ida_idd.excvec_t.push_back",
"url":24,
"doc":"push_back(self, x) @param x: exception_info_t const & push_back(self) -> exception_info_t",
"func":1
},
{
"ref":"ida_idd.excvec_t.pop_back",
"url":24,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_idd.excvec_t.size",
"url":24,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_idd.excvec_t.empty",
"url":24,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_idd.excvec_t.at",
"url":24,
"doc":"at(self, _idx) -> exception_info_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_idd.excvec_t.qclear",
"url":24,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_idd.excvec_t.clear",
"url":24,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_idd.excvec_t.resize",
"url":24,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: exception_info_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_idd.excvec_t.grow",
"url":24,
"doc":"grow(self, x=exception_info_t( @param x: exception_info_t const &",
"func":1
},
{
"ref":"ida_idd.excvec_t.capacity",
"url":24,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_idd.excvec_t.reserve",
"url":24,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_idd.excvec_t.truncate",
"url":24,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_idd.excvec_t.swap",
"url":24,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_idd.excvec_t.extract",
"url":24,
"doc":"extract(self) -> exception_info_t",
"func":1
},
{
"ref":"ida_idd.excvec_t.inject",
"url":24,
"doc":"inject(self, s, len) @param s: exception_info_t  @param len: size_t",
"func":1
},
{
"ref":"ida_idd.excvec_t.begin",
"url":24,
"doc":"begin(self) -> exception_info_t",
"func":1
},
{
"ref":"ida_idd.excvec_t.end",
"url":24,
"doc":"end(self) -> exception_info_t",
"func":1
},
{
"ref":"ida_idd.excvec_t.insert",
"url":24,
"doc":"insert(self, it, x) -> exception_info_t @param it: qvector  iterator @param x: exception_info_t const &",
"func":1
},
{
"ref":"ida_idd.excvec_t.erase",
"url":24,
"doc":"erase(self, it) -> exception_info_t @param it: qvector  iterator erase(self, first, last) -> exception_info_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_idd.excvec_t.front",
"url":24,
"doc":"",
"func":1
},
{
"ref":"ida_idd.excvec_t.back",
"url":24,
"doc":"",
"func":1
},
{
"ref":"ida_idd.procinfo_vec_t",
"url":24,
"doc":"Proxy of C qvector class. __init__(self) -> procinfo_vec_t __init__(self, x) -> procinfo_vec_t @param x: qvector const &"
},
{
"ref":"ida_idd.procinfo_vec_t.thisown",
"url":24,
"doc":"The membership flag"
},
{
"ref":"ida_idd.procinfo_vec_t.push_back",
"url":24,
"doc":"push_back(self, x) @param x: process_info_t const & push_back(self) -> process_info_t",
"func":1
},
{
"ref":"ida_idd.procinfo_vec_t.pop_back",
"url":24,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_idd.procinfo_vec_t.size",
"url":24,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_idd.procinfo_vec_t.empty",
"url":24,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_idd.procinfo_vec_t.at",
"url":24,
"doc":"at(self, _idx) -> process_info_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_idd.procinfo_vec_t.qclear",
"url":24,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_idd.procinfo_vec_t.clear",
"url":24,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_idd.procinfo_vec_t.resize",
"url":24,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: process_info_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_idd.procinfo_vec_t.grow",
"url":24,
"doc":"grow(self, x=process_info_t( @param x: process_info_t const &",
"func":1
},
{
"ref":"ida_idd.procinfo_vec_t.capacity",
"url":24,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_idd.procinfo_vec_t.reserve",
"url":24,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_idd.procinfo_vec_t.truncate",
"url":24,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_idd.procinfo_vec_t.swap",
"url":24,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_idd.procinfo_vec_t.extract",
"url":24,
"doc":"extract(self) -> process_info_t",
"func":1
},
{
"ref":"ida_idd.procinfo_vec_t.inject",
"url":24,
"doc":"inject(self, s, len) @param s: process_info_t  @param len: size_t",
"func":1
},
{
"ref":"ida_idd.procinfo_vec_t.begin",
"url":24,
"doc":"begin(self) -> process_info_t",
"func":1
},
{
"ref":"ida_idd.procinfo_vec_t.end",
"url":24,
"doc":"end(self) -> process_info_t",
"func":1
},
{
"ref":"ida_idd.procinfo_vec_t.insert",
"url":24,
"doc":"insert(self, it, x) -> process_info_t @param it: qvector  iterator @param x: process_info_t const &",
"func":1
},
{
"ref":"ida_idd.procinfo_vec_t.erase",
"url":24,
"doc":"erase(self, it) -> process_info_t @param it: qvector  iterator erase(self, first, last) -> process_info_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_idd.procinfo_vec_t.front",
"url":24,
"doc":"",
"func":1
},
{
"ref":"ida_idd.procinfo_vec_t.back",
"url":24,
"doc":"",
"func":1
},
{
"ref":"ida_idd.call_stack_info_vec_t",
"url":24,
"doc":"Proxy of C qvector class. __init__(self) -> call_stack_info_vec_t __init__(self, x) -> call_stack_info_vec_t @param x: qvector const &"
},
{
"ref":"ida_idd.call_stack_info_vec_t.thisown",
"url":24,
"doc":"The membership flag"
},
{
"ref":"ida_idd.call_stack_info_vec_t.push_back",
"url":24,
"doc":"push_back(self, x) @param x: call_stack_info_t const & push_back(self) -> call_stack_info_t",
"func":1
},
{
"ref":"ida_idd.call_stack_info_vec_t.pop_back",
"url":24,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_idd.call_stack_info_vec_t.size",
"url":24,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_idd.call_stack_info_vec_t.empty",
"url":24,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_idd.call_stack_info_vec_t.at",
"url":24,
"doc":"at(self, _idx) -> call_stack_info_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_idd.call_stack_info_vec_t.qclear",
"url":24,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_idd.call_stack_info_vec_t.clear",
"url":24,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_idd.call_stack_info_vec_t.resize",
"url":24,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: call_stack_info_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_idd.call_stack_info_vec_t.grow",
"url":24,
"doc":"grow(self, x=call_stack_info_t( @param x: call_stack_info_t const &",
"func":1
},
{
"ref":"ida_idd.call_stack_info_vec_t.capacity",
"url":24,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_idd.call_stack_info_vec_t.reserve",
"url":24,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_idd.call_stack_info_vec_t.truncate",
"url":24,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_idd.call_stack_info_vec_t.swap",
"url":24,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_idd.call_stack_info_vec_t.extract",
"url":24,
"doc":"extract(self) -> call_stack_info_t",
"func":1
},
{
"ref":"ida_idd.call_stack_info_vec_t.inject",
"url":24,
"doc":"inject(self, s, len) @param s: call_stack_info_t  @param len: size_t",
"func":1
},
{
"ref":"ida_idd.call_stack_info_vec_t.begin",
"url":24,
"doc":"begin(self) -> call_stack_info_t",
"func":1
},
{
"ref":"ida_idd.call_stack_info_vec_t.end",
"url":24,
"doc":"end(self) -> call_stack_info_t",
"func":1
},
{
"ref":"ida_idd.call_stack_info_vec_t.insert",
"url":24,
"doc":"insert(self, it, x) -> call_stack_info_t @param it: qvector  iterator @param x: call_stack_info_t const &",
"func":1
},
{
"ref":"ida_idd.call_stack_info_vec_t.erase",
"url":24,
"doc":"erase(self, it) -> call_stack_info_t @param it: qvector  iterator erase(self, first, last) -> call_stack_info_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_idd.call_stack_info_vec_t.find",
"url":24,
"doc":"find(self, x) -> call_stack_info_t @param x: call_stack_info_t const &",
"func":1
},
{
"ref":"ida_idd.call_stack_info_vec_t.has",
"url":24,
"doc":"has(self, x) -> bool @param x: call_stack_info_t const &",
"func":1
},
{
"ref":"ida_idd.call_stack_info_vec_t.add_unique",
"url":24,
"doc":"add_unique(self, x) -> bool @param x: call_stack_info_t const &",
"func":1
},
{
"ref":"ida_idd.call_stack_info_vec_t.front",
"url":24,
"doc":"",
"func":1
},
{
"ref":"ida_idd.call_stack_info_vec_t.back",
"url":24,
"doc":"",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_template_t",
"url":24,
"doc":"Proxy of C qvector class. __init__(self) -> meminfo_vec_template_t __init__(self, x) -> meminfo_vec_template_t @param x: qvector const &"
},
{
"ref":"ida_idd.meminfo_vec_template_t.thisown",
"url":24,
"doc":"The membership flag"
},
{
"ref":"ida_idd.meminfo_vec_template_t.push_back",
"url":24,
"doc":"push_back(self, x) @param x: memory_info_t const & push_back(self) -> memory_info_t",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_template_t.pop_back",
"url":24,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_template_t.size",
"url":24,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_template_t.empty",
"url":24,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_template_t.at",
"url":24,
"doc":"at(self, _idx) -> memory_info_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_template_t.qclear",
"url":24,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_template_t.clear",
"url":24,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_template_t.resize",
"url":24,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: memory_info_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_template_t.grow",
"url":24,
"doc":"grow(self, x=memory_info_t( @param x: memory_info_t const &",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_template_t.capacity",
"url":24,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_template_t.reserve",
"url":24,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_template_t.truncate",
"url":24,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_template_t.swap",
"url":24,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_template_t.extract",
"url":24,
"doc":"extract(self) -> memory_info_t",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_template_t.inject",
"url":24,
"doc":"inject(self, s, len) @param s: memory_info_t  @param len: size_t",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_template_t.begin",
"url":24,
"doc":"begin(self) -> memory_info_t",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_template_t.end",
"url":24,
"doc":"end(self) -> memory_info_t",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_template_t.insert",
"url":24,
"doc":"insert(self, it, x) -> memory_info_t @param it: qvector  iterator @param x: memory_info_t const &",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_template_t.erase",
"url":24,
"doc":"erase(self, it) -> memory_info_t @param it: qvector  iterator erase(self, first, last) -> memory_info_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_template_t.find",
"url":24,
"doc":"find(self, x) -> memory_info_t @param x: memory_info_t const &",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_template_t.has",
"url":24,
"doc":"has(self, x) -> bool @param x: memory_info_t const &",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_template_t.add_unique",
"url":24,
"doc":"add_unique(self, x) -> bool @param x: memory_info_t const &",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_template_t.front",
"url":24,
"doc":"",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_template_t.back",
"url":24,
"doc":"",
"func":1
},
{
"ref":"ida_idd.regvals_t",
"url":24,
"doc":"Proxy of C qvector class. __init__(self) -> regvals_t __init__(self, x) -> regvals_t @param x: qvector const &"
},
{
"ref":"ida_idd.regvals_t.thisown",
"url":24,
"doc":"The membership flag"
},
{
"ref":"ida_idd.regvals_t.push_back",
"url":24,
"doc":"push_back(self, x) @param x: regval_t const & push_back(self) -> regval_t",
"func":1
},
{
"ref":"ida_idd.regvals_t.pop_back",
"url":24,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_idd.regvals_t.size",
"url":24,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_idd.regvals_t.empty",
"url":24,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_idd.regvals_t.at",
"url":24,
"doc":"at(self, _idx) -> regval_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_idd.regvals_t.qclear",
"url":24,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_idd.regvals_t.clear",
"url":24,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_idd.regvals_t.resize",
"url":24,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: regval_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_idd.regvals_t.grow",
"url":24,
"doc":"grow(self, x=regval_t( @param x: regval_t const &",
"func":1
},
{
"ref":"ida_idd.regvals_t.capacity",
"url":24,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_idd.regvals_t.reserve",
"url":24,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_idd.regvals_t.truncate",
"url":24,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_idd.regvals_t.swap",
"url":24,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_idd.regvals_t.extract",
"url":24,
"doc":"extract(self) -> regval_t",
"func":1
},
{
"ref":"ida_idd.regvals_t.inject",
"url":24,
"doc":"inject(self, s, len) @param s: regval_t  @param len: size_t",
"func":1
},
{
"ref":"ida_idd.regvals_t.begin",
"url":24,
"doc":"begin(self) -> regval_t",
"func":1
},
{
"ref":"ida_idd.regvals_t.end",
"url":24,
"doc":"end(self) -> regval_t",
"func":1
},
{
"ref":"ida_idd.regvals_t.insert",
"url":24,
"doc":"insert(self, it, x) -> regval_t @param it: qvector  iterator @param x: regval_t const &",
"func":1
},
{
"ref":"ida_idd.regvals_t.erase",
"url":24,
"doc":"erase(self, it) -> regval_t @param it: qvector  iterator erase(self, first, last) -> regval_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_idd.regvals_t.find",
"url":24,
"doc":"find(self, x) -> regval_t @param x: regval_t const &",
"func":1
},
{
"ref":"ida_idd.regvals_t.has",
"url":24,
"doc":"has(self, x) -> bool @param x: regval_t const &",
"func":1
},
{
"ref":"ida_idd.regvals_t.add_unique",
"url":24,
"doc":"add_unique(self, x) -> bool @param x: regval_t const &",
"func":1
},
{
"ref":"ida_idd.regvals_t.front",
"url":24,
"doc":"",
"func":1
},
{
"ref":"ida_idd.regvals_t.back",
"url":24,
"doc":"",
"func":1
},
{
"ref":"ida_idd.IDD_INTERFACE_VERSION",
"url":24,
"doc":"The IDD interface version number."
},
{
"ref":"ida_idd.NO_THREAD",
"url":24,
"doc":"No thread. in PROCESS_STARTED this value can be used to specify that the main thread has not been created. It will be initialized later by a THREAD_STARTED event."
},
{
"ref":"ida_idd.process_info_t",
"url":24,
"doc":"Proxy of C process_info_t class. __init__(self) -> process_info_t"
},
{
"ref":"ida_idd.process_info_t.thisown",
"url":24,
"doc":"The membership flag"
},
{
"ref":"ida_idd.process_info_t.pid",
"url":24,
"doc":"process id"
},
{
"ref":"ida_idd.process_info_t.name",
"url":24,
"doc":"process name"
},
{
"ref":"ida_idd.debapp_attrs_t",
"url":24,
"doc":"Proxy of C debapp_attrs_t class. __init__(self) -> debapp_attrs_t"
},
{
"ref":"ida_idd.debapp_attrs_t.thisown",
"url":24,
"doc":"The membership flag"
},
{
"ref":"ida_idd.debapp_attrs_t.cbsize",
"url":24,
"doc":"control field: size of this structure"
},
{
"ref":"ida_idd.debapp_attrs_t.addrsize",
"url":24,
"doc":"address size of the process. Since 64-bit debuggers usually can debug 32-bit applications, we cannot rely on sizeof(ea_t) to detect the current address size. The following variable should be used instead. It is initialized with 8 for 64-bit debuggers but they should adjust it as soon as they learn that a 32-bit application is being debugged. For 32-bit debuggers it is initialized with 4."
},
{
"ref":"ida_idd.debapp_attrs_t.platform",
"url":24,
"doc":"platform name process is running/debugging under. (is used as a key value in exceptions.cfg)"
},
{
"ref":"ida_idd.debapp_attrs_t.is_be",
"url":24,
"doc":"is_be"
},
{
"ref":"ida_idd.register_info_t",
"url":24,
"doc":"Proxy of C register_info_t class. __init__(self) -> register_info_t"
},
{
"ref":"ida_idd.register_info_t.thisown",
"url":24,
"doc":"The membership flag"
},
{
"ref":"ida_idd.register_info_t.name",
"url":24,
"doc":"Register name."
},
{
"ref":"ida_idd.register_info_t.flags",
"url":24,
"doc":"Register info attribute flags"
},
{
"ref":"ida_idd.register_info_t.register_class",
"url":24,
"doc":"segment, mmx, etc."
},
{
"ref":"ida_idd.register_info_t.dtype",
"url":24,
"doc":"Register size (see Operand value types)"
},
{
"ref":"ida_idd.register_info_t.default_bit_strings_mask",
"url":24,
"doc":"mask of default bits"
},
{
"ref":"ida_idd.register_info_t.bit_strings",
"url":24,
"doc":"strings corresponding to each bit of the register. (nullptr = no bit, same name = multi-bits mask)"
},
{
"ref":"ida_idd.REGISTER_READONLY",
"url":24,
"doc":"the user can't modify the current value of this register"
},
{
"ref":"ida_idd.REGISTER_IP",
"url":24,
"doc":"instruction pointer"
},
{
"ref":"ida_idd.REGISTER_SP",
"url":24,
"doc":"stack pointer"
},
{
"ref":"ida_idd.REGISTER_FP",
"url":24,
"doc":"frame pointer"
},
{
"ref":"ida_idd.REGISTER_ADDRESS",
"url":24,
"doc":"may contain an address"
},
{
"ref":"ida_idd.REGISTER_CS",
"url":24,
"doc":"code segment"
},
{
"ref":"ida_idd.REGISTER_SS",
"url":24,
"doc":"stack segment"
},
{
"ref":"ida_idd.REGISTER_NOLF",
"url":24,
"doc":"displays this register without returning to the next line, allowing the next register to be displayed to its right (on the same line)"
},
{
"ref":"ida_idd.REGISTER_CUSTFMT",
"url":24,
"doc":"register should be displayed using a custom data format. the format name is in bit_strings[0]; the corresponding regval_t will use bytevec_t"
},
{
"ref":"ida_idd.memory_info_t",
"url":24,
"doc":"Proxy of C memory_info_t class. __init__(self) -> memory_info_t"
},
{
"ref":"ida_idd.memory_info_t.thisown",
"url":24,
"doc":"The membership flag"
},
{
"ref":"ida_idd.memory_info_t.name",
"url":24,
"doc":"Memory range name."
},
{
"ref":"ida_idd.memory_info_t.sclass",
"url":24,
"doc":"Memory range class name."
},
{
"ref":"ida_idd.memory_info_t.sbase",
"url":24,
"doc":"Segment base (meaningful only for segmented architectures, e.g. 16-bit x86) The base is specified in paragraphs (i.e. shifted to the right by 4)"
},
{
"ref":"ida_idd.memory_info_t.bitness",
"url":24,
"doc":"Number of bits in segment addresses (0-16bit, 1-32bit, 2-64bit)"
},
{
"ref":"ida_idd.memory_info_t.perm",
"url":24,
"doc":"Memory range permissions (0-no information): see segment.hpp."
},
{
"ref":"ida_idd.memory_info_t.start_ea",
"url":5,
"doc":"start_ea included"
},
{
"ref":"ida_idd.memory_info_t.end_ea",
"url":5,
"doc":"end_ea excluded"
},
{
"ref":"ida_idd.memory_info_t.compare",
"url":5,
"doc":"compare(self, r) -> int @param r: range_t const &",
"func":1
},
{
"ref":"ida_idd.memory_info_t.contains",
"url":5,
"doc":"contains(self, ea) -> bool Is every ea in 'r' also in this range_t? @param ea: ea_t contains(self, r) -> bool @param r: range_t const &",
"func":1
},
{
"ref":"ida_idd.memory_info_t.overlaps",
"url":5,
"doc":"overlaps(self, r) -> bool Is there an ea in 'r' that is also in this range_t? @param r: (C : const range_t &) range_t const &",
"func":1
},
{
"ref":"ida_idd.memory_info_t.clear",
"url":5,
"doc":"clear(self) Set start_ea, end_ea to 0.",
"func":1
},
{
"ref":"ida_idd.memory_info_t.empty",
"url":5,
"doc":"empty(self) -> bool Is the size of the range_t <= 0?",
"func":1
},
{
"ref":"ida_idd.memory_info_t.size",
"url":5,
"doc":"size(self) -> asize_t Get end_ea - start_ea.",
"func":1
},
{
"ref":"ida_idd.memory_info_t.intersect",
"url":5,
"doc":"intersect(self, r) Assign the range_t to the intersection between the range_t and 'r'. @param r: (C : const range_t &) range_t const &",
"func":1
},
{
"ref":"ida_idd.memory_info_t.extend",
"url":5,
"doc":"extend(self, ea) Ensure that the range_t includes 'ea'. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_t",
"url":24,
"doc":"Proxy of C meminfo_vec_t class. __init__(self) -> meminfo_vec_t"
},
{
"ref":"ida_idd.meminfo_vec_t.thisown",
"url":24,
"doc":"The membership flag"
},
{
"ref":"ida_idd.meminfo_vec_t.push_back",
"url":24,
"doc":"push_back(self, x) @param x: memory_info_t const & push_back(self) -> memory_info_t",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_t.pop_back",
"url":24,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_t.size",
"url":24,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_t.empty",
"url":24,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_t.at",
"url":24,
"doc":"at(self, _idx) -> memory_info_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_t.qclear",
"url":24,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_t.clear",
"url":24,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_t.resize",
"url":24,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: memory_info_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_t.grow",
"url":24,
"doc":"grow(self, x=memory_info_t( @param x: memory_info_t const &",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_t.capacity",
"url":24,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_t.reserve",
"url":24,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_t.truncate",
"url":24,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_t.swap",
"url":24,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_t.extract",
"url":24,
"doc":"extract(self) -> memory_info_t",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_t.inject",
"url":24,
"doc":"inject(self, s, len) @param s: memory_info_t  @param len: size_t",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_t.begin",
"url":24,
"doc":"begin(self) -> memory_info_t",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_t.end",
"url":24,
"doc":"end(self) -> memory_info_t",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_t.insert",
"url":24,
"doc":"insert(self, it, x) -> memory_info_t @param it: qvector  iterator @param x: memory_info_t const &",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_t.erase",
"url":24,
"doc":"erase(self, it) -> memory_info_t @param it: qvector  iterator erase(self, first, last) -> memory_info_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_t.find",
"url":24,
"doc":"find(self, x) -> memory_info_t @param x: memory_info_t const &",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_t.has",
"url":24,
"doc":"has(self, x) -> bool @param x: memory_info_t const &",
"func":1
},
{
"ref":"ida_idd.meminfo_vec_t.add_unique",
"url":24,
"doc":"add_unique(self, x) -> bool @param x: memory_info_t const &",
"func":1
},
{
"ref":"ida_idd.scattered_segm_t",
"url":24,
"doc":"Proxy of C scattered_segm_t class. __init__(self) -> scattered_segm_t"
},
{
"ref":"ida_idd.scattered_segm_t.thisown",
"url":24,
"doc":"The membership flag"
},
{
"ref":"ida_idd.scattered_segm_t.name",
"url":24,
"doc":"name of the segment"
},
{
"ref":"ida_idd.scattered_segm_t.start_ea",
"url":5,
"doc":"start_ea included"
},
{
"ref":"ida_idd.scattered_segm_t.end_ea",
"url":5,
"doc":"end_ea excluded"
},
{
"ref":"ida_idd.scattered_segm_t.compare",
"url":5,
"doc":"compare(self, r) -> int @param r: range_t const &",
"func":1
},
{
"ref":"ida_idd.scattered_segm_t.contains",
"url":5,
"doc":"contains(self, ea) -> bool Is every ea in 'r' also in this range_t? @param ea: ea_t contains(self, r) -> bool @param r: range_t const &",
"func":1
},
{
"ref":"ida_idd.scattered_segm_t.overlaps",
"url":5,
"doc":"overlaps(self, r) -> bool Is there an ea in 'r' that is also in this range_t? @param r: (C : const range_t &) range_t const &",
"func":1
},
{
"ref":"ida_idd.scattered_segm_t.clear",
"url":5,
"doc":"clear(self) Set start_ea, end_ea to 0.",
"func":1
},
{
"ref":"ida_idd.scattered_segm_t.empty",
"url":5,
"doc":"empty(self) -> bool Is the size of the range_t <= 0?",
"func":1
},
{
"ref":"ida_idd.scattered_segm_t.size",
"url":5,
"doc":"size(self) -> asize_t Get end_ea - start_ea.",
"func":1
},
{
"ref":"ida_idd.scattered_segm_t.intersect",
"url":5,
"doc":"intersect(self, r) Assign the range_t to the intersection between the range_t and 'r'. @param r: (C : const range_t &) range_t const &",
"func":1
},
{
"ref":"ida_idd.scattered_segm_t.extend",
"url":5,
"doc":"extend(self, ea) Ensure that the range_t includes 'ea'. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_idd.launch_env_t",
"url":24,
"doc":"Proxy of C launch_env_t class. __init__(self) -> launch_env_t"
},
{
"ref":"ida_idd.launch_env_t.thisown",
"url":24,
"doc":"The membership flag"
},
{
"ref":"ida_idd.launch_env_t.merge",
"url":24,
"doc":"merge"
},
{
"ref":"ida_idd.NO_EVENT",
"url":24,
"doc":"Not an interesting event. This event can be used if the debugger module needs to return an event but there are no valid events."
},
{
"ref":"ida_idd.PROCESS_STARTED",
"url":24,
"doc":"New process has been started."
},
{
"ref":"ida_idd.PROCESS_EXITED",
"url":24,
"doc":"Process has been stopped."
},
{
"ref":"ida_idd.THREAD_STARTED",
"url":24,
"doc":"New thread has been started."
},
{
"ref":"ida_idd.THREAD_EXITED",
"url":24,
"doc":"Thread has been stopped."
},
{
"ref":"ida_idd.BREAKPOINT",
"url":24,
"doc":"Breakpoint has been reached. IDA will complain about unknown breakpoints, they should be reported as exceptions."
},
{
"ref":"ida_idd.STEP",
"url":24,
"doc":"One instruction has been executed. Spurious events of this kind are silently ignored by IDA."
},
{
"ref":"ida_idd.EXCEPTION",
"url":24,
"doc":"Exception."
},
{
"ref":"ida_idd.LIB_LOADED",
"url":24,
"doc":"New library has been loaded."
},
{
"ref":"ida_idd.LIB_UNLOADED",
"url":24,
"doc":"Library has been unloaded."
},
{
"ref":"ida_idd.INFORMATION",
"url":24,
"doc":"User-defined information. This event can be used to return empty information This will cause IDA to call get_debug_event() immediately once more."
},
{
"ref":"ida_idd.PROCESS_ATTACHED",
"url":24,
"doc":"Successfully attached to running process."
},
{
"ref":"ida_idd.PROCESS_DETACHED",
"url":24,
"doc":"Successfully detached from process."
},
{
"ref":"ida_idd.PROCESS_SUSPENDED",
"url":24,
"doc":"Process has been suspended. This event can be used by the debugger module to signal if the process spontaneously gets suspended (not because of an exception, breakpoint, or single step). IDA will silently switch to the 'suspended process' mode without displaying any messages."
},
{
"ref":"ida_idd.TRACE_FULL",
"url":24,
"doc":"The trace buffer of the tracer module is full and IDA needs to read it before continuing"
},
{
"ref":"ida_idd.set_debug_event_code",
"url":24,
"doc":"set_debug_event_code(ev, id) @param ev: debug_event_t  @param id: enum event_id_t",
"func":1
},
{
"ref":"ida_idd.modinfo_t",
"url":24,
"doc":"Proxy of C modinfo_t class. __init__(self) -> modinfo_t"
},
{
"ref":"ida_idd.modinfo_t.thisown",
"url":24,
"doc":"The membership flag"
},
{
"ref":"ida_idd.modinfo_t.name",
"url":24,
"doc":"full name of the module"
},
{
"ref":"ida_idd.modinfo_t.base",
"url":24,
"doc":"module base address. if unknown pass BADADDR"
},
{
"ref":"ida_idd.modinfo_t.size",
"url":24,
"doc":"module size. if unknown pass 0"
},
{
"ref":"ida_idd.modinfo_t.rebase_to",
"url":24,
"doc":"if not BADADDR, then rebase the program to the specified address"
},
{
"ref":"ida_idd.bptaddr_t",
"url":24,
"doc":"Proxy of C bptaddr_t class. __init__(self) -> bptaddr_t"
},
{
"ref":"ida_idd.bptaddr_t.thisown",
"url":24,
"doc":"The membership flag"
},
{
"ref":"ida_idd.bptaddr_t.hea",
"url":24,
"doc":"Possible address referenced by hardware breakpoints."
},
{
"ref":"ida_idd.bptaddr_t.kea",
"url":24,
"doc":"Address of the triggered bpt from the kernel's point of view. (for some systems with special memory mappings, the triggered ea might be different from event ea). Use to BADADDR for flat memory model."
},
{
"ref":"ida_idd.excinfo_t",
"url":24,
"doc":"Proxy of C excinfo_t class. __init__(self) -> excinfo_t"
},
{
"ref":"ida_idd.excinfo_t.thisown",
"url":24,
"doc":"The membership flag"
},
{
"ref":"ida_idd.excinfo_t.code",
"url":24,
"doc":"Exception code."
},
{
"ref":"ida_idd.excinfo_t.can_cont",
"url":24,
"doc":"Execution of the process can continue after this exception?"
},
{
"ref":"ida_idd.excinfo_t.ea",
"url":24,
"doc":"Possible address referenced by the exception."
},
{
"ref":"ida_idd.excinfo_t.info",
"url":24,
"doc":"Exception message."
},
{
"ref":"ida_idd.debug_event_t",
"url":24,
"doc":"Proxy of C debug_event_t class. __init__(self) -> debug_event_t __init__(self, r) -> debug_event_t @param r: debug_event_t const &"
},
{
"ref":"ida_idd.debug_event_t.thisown",
"url":24,
"doc":"The membership flag"
},
{
"ref":"ida_idd.debug_event_t.pid",
"url":24,
"doc":"Process where the event occurred."
},
{
"ref":"ida_idd.debug_event_t.tid",
"url":24,
"doc":"Thread where the event occurred."
},
{
"ref":"ida_idd.debug_event_t.ea",
"url":24,
"doc":"Address where the event occurred."
},
{
"ref":"ida_idd.debug_event_t.handled",
"url":24,
"doc":"Is event handled by the debugger?. (from the system's point of view) Meaningful for EXCEPTION events"
},
{
"ref":"ida_idd.debug_event_t.copy",
"url":24,
"doc":"copy(self, r) -> debug_event_t @param r: debug_event_t const &",
"func":1
},
{
"ref":"ida_idd.debug_event_t.clear",
"url":24,
"doc":"clear(self) clear the dependent information (see below), set event code to NO_EVENT",
"func":1
},
{
"ref":"ida_idd.debug_event_t.clear_all",
"url":24,
"doc":"clear_all(self)",
"func":1
},
{
"ref":"ida_idd.debug_event_t.eid",
"url":24,
"doc":"eid(self) -> event_id_t Event code.",
"func":1
},
{
"ref":"ida_idd.debug_event_t.set_eid",
"url":24,
"doc":"set_eid(self, id) Set event code. If the new event code is compatible with the old one then the dependent information (see below) will be preserved. Otherwise the event will be cleared and the new event code will be set. @param id: (C : event_id_t) enum event_id_t",
"func":1
},
{
"ref":"ida_idd.debug_event_t.modinfo",
"url":24,
"doc":"modinfo(self) -> modinfo_t",
"func":1
},
{
"ref":"ida_idd.debug_event_t.exit_code",
"url":24,
"doc":"exit_code(self) -> int const &",
"func":1
},
{
"ref":"ida_idd.debug_event_t.info",
"url":24,
"doc":"info(self) -> qstring info(self) -> qstring const &",
"func":1
},
{
"ref":"ida_idd.debug_event_t.bpt",
"url":24,
"doc":"bpt(self) -> bptaddr_t",
"func":1
},
{
"ref":"ida_idd.debug_event_t.exc",
"url":24,
"doc":"exc(self) -> excinfo_t",
"func":1
},
{
"ref":"ida_idd.debug_event_t.set_modinfo",
"url":24,
"doc":"set_modinfo(self, id) -> modinfo_t @param id: enum event_id_t",
"func":1
},
{
"ref":"ida_idd.debug_event_t.set_exit_code",
"url":24,
"doc":"set_exit_code(self, id, code) @param id: enum event_id_t @param code: int",
"func":1
},
{
"ref":"ida_idd.debug_event_t.set_info",
"url":24,
"doc":"set_info(self, id) -> qstring & @param id: enum event_id_t",
"func":1
},
{
"ref":"ida_idd.debug_event_t.set_bpt",
"url":24,
"doc":"set_bpt(self) -> bptaddr_t",
"func":1
},
{
"ref":"ida_idd.debug_event_t.set_exception",
"url":24,
"doc":"set_exception(self) -> excinfo_t",
"func":1
},
{
"ref":"ida_idd.debug_event_t.bpt_ea",
"url":24,
"doc":"bpt_ea(self) -> ea_t On some systems with special memory mappings the triggered ea might be different from the actual ea. Calculate the address to use.",
"func":1
},
{
"ref":"ida_idd.exception_info_t",
"url":24,
"doc":"Proxy of C exception_info_t class. __init__(self) -> exception_info_t __init__(self, _code, _flags, _name, _desc) -> exception_info_t @param _code: uint @param _flags: uint32 @param _name: char const  @param _desc: char const  "
},
{
"ref":"ida_idd.exception_info_t.thisown",
"url":24,
"doc":"The membership flag"
},
{
"ref":"ida_idd.exception_info_t.code",
"url":24,
"doc":"exception code"
},
{
"ref":"ida_idd.exception_info_t.flags",
"url":24,
"doc":"Exception info flags"
},
{
"ref":"ida_idd.exception_info_t.break_on",
"url":24,
"doc":"break_on(self) -> bool Should we break on the exception?",
"func":1
},
{
"ref":"ida_idd.exception_info_t.handle",
"url":24,
"doc":"handle(self) -> bool Should we handle the exception?",
"func":1
},
{
"ref":"ida_idd.exception_info_t.name",
"url":24,
"doc":"Exception standard name."
},
{
"ref":"ida_idd.exception_info_t.desc",
"url":24,
"doc":"Long message used to display info about the exception."
},
{
"ref":"ida_idd.BPT_WRITE",
"url":24,
"doc":"Write access."
},
{
"ref":"ida_idd.BPT_READ",
"url":24,
"doc":"Read access."
},
{
"ref":"ida_idd.BPT_RDWR",
"url":24,
"doc":"Read/write access."
},
{
"ref":"ida_idd.BPT_SOFT",
"url":24,
"doc":"Software breakpoint."
},
{
"ref":"ida_idd.BPT_EXEC",
"url":24,
"doc":"Execute instruction."
},
{
"ref":"ida_idd.BPT_DEFAULT",
"url":24,
"doc":"Choose bpt type automatically."
},
{
"ref":"ida_idd.EXC_BREAK",
"url":24,
"doc":"break on the exception"
},
{
"ref":"ida_idd.EXC_HANDLE",
"url":24,
"doc":"should be handled by the debugger?"
},
{
"ref":"ida_idd.EXC_MSG",
"url":24,
"doc":"instead of a warning, log the exception to the output window"
},
{
"ref":"ida_idd.EXC_SILENT",
"url":24,
"doc":"do not warn or log to the output window"
},
{
"ref":"ida_idd.regval_t",
"url":24,
"doc":"Proxy of C regval_t class. __init__(self) -> regval_t __init__(self, r) -> regval_t @param r: regval_t const &"
},
{
"ref":"ida_idd.regval_t.thisown",
"url":24,
"doc":"The membership flag"
},
{
"ref":"ida_idd.regval_t.rvtype",
"url":24,
"doc":"one of Register value types"
},
{
"ref":"ida_idd.regval_t.ival",
"url":24,
"doc":"RVT_INT."
},
{
"ref":"ida_idd.regval_t.use_bytevec",
"url":24,
"doc":"use_bytevec(self) -> bool",
"func":1
},
{
"ref":"ida_idd.regval_t.clear",
"url":24,
"doc":"clear(self) Clear register value.",
"func":1
},
{
"ref":"ida_idd.regval_t.swap",
"url":24,
"doc":"swap(self, r) Set this = r and r = this. @param r: (C : regval_t &)",
"func":1
},
{
"ref":"ida_idd.regval_t.set_int",
"url":24,
"doc":"set_int(self, x) @param x: uint64",
"func":1
},
{
"ref":"ida_idd.regval_t.set_float",
"url":24,
"doc":"set_float(self, v) Set float value. @param v: (C : const bytevec_t &) bytevec_t const &",
"func":1
},
{
"ref":"ida_idd.regval_t.set_bytes",
"url":24,
"doc":"set_bytes(self, data, size, _rvtype=0) Initialize this regval to an empty custom value. @param data: uchar const  @param size: size_t @param _rvtype: (C : int) set_bytes(self, v, _rvtype=0) @param v: bytevec_t const & @param _rvtype: int set_bytes(self, _rvtype) -> bytevec_t & @param _rvtype: int",
"func":1
},
{
"ref":"ida_idd.regval_t.set_unavailable",
"url":24,
"doc":"set_unavailable(self) Mark as unavailable.",
"func":1
},
{
"ref":"ida_idd.regval_t.bytes",
"url":24,
"doc":"bytes(self) -> bytevec_t Get const custom value. bytes(self) -> bytevec_t const &",
"func":1
},
{
"ref":"ida_idd.regval_t.get_data",
"url":24,
"doc":"get_data(self) Get const pointer to value. get_data(self) -> void const  ",
"func":1
},
{
"ref":"ida_idd.regval_t.get_data_size",
"url":24,
"doc":"get_data_size(self) -> size_t Get size of value.",
"func":1
},
{
"ref":"ida_idd.regval_t.set_pyval",
"url":24,
"doc":"set_pyval(self, o, dtype) -> bool @param o: PyObject  @param dtype: op_dtype_t",
"func":1
},
{
"ref":"ida_idd.regval_t.pyval",
"url":24,
"doc":"pyval(self, dtype) -> PyObject  @param dtype: op_dtype_t",
"func":1
},
{
"ref":"ida_idd.RVT_FLOAT",
"url":24,
"doc":"floating point"
},
{
"ref":"ida_idd.RVT_INT",
"url":24,
"doc":"integer"
},
{
"ref":"ida_idd.RVT_UNAVAILABLE",
"url":24,
"doc":"unavailable; other values mean custom data type"
},
{
"ref":"ida_idd.call_stack_info_t",
"url":24,
"doc":"Proxy of C call_stack_info_t class. __init__(self) -> call_stack_info_t"
},
{
"ref":"ida_idd.call_stack_info_t.thisown",
"url":24,
"doc":"The membership flag"
},
{
"ref":"ida_idd.call_stack_info_t.callea",
"url":24,
"doc":"the address of the call instruction. for the 0th frame this is usually just the current value of EIP."
},
{
"ref":"ida_idd.call_stack_info_t.funcea",
"url":24,
"doc":"the address of the called function"
},
{
"ref":"ida_idd.call_stack_info_t.fp",
"url":24,
"doc":"the value of the frame pointer of the called function"
},
{
"ref":"ida_idd.call_stack_info_t.funcok",
"url":24,
"doc":"is the function present?"
},
{
"ref":"ida_idd.call_stack_t",
"url":24,
"doc":"Proxy of C call_stack_t class. __init__(self) -> call_stack_t"
},
{
"ref":"ida_idd.call_stack_t.thisown",
"url":24,
"doc":"The membership flag"
},
{
"ref":"ida_idd.call_stack_t.push_back",
"url":24,
"doc":"push_back(self, x) @param x: call_stack_info_t const & push_back(self) -> call_stack_info_t",
"func":1
},
{
"ref":"ida_idd.call_stack_t.pop_back",
"url":24,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_idd.call_stack_t.size",
"url":24,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_idd.call_stack_t.empty",
"url":24,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_idd.call_stack_t.at",
"url":24,
"doc":"at(self, _idx) -> call_stack_info_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_idd.call_stack_t.qclear",
"url":24,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_idd.call_stack_t.clear",
"url":24,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_idd.call_stack_t.resize",
"url":24,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: call_stack_info_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_idd.call_stack_t.grow",
"url":24,
"doc":"grow(self, x=call_stack_info_t( @param x: call_stack_info_t const &",
"func":1
},
{
"ref":"ida_idd.call_stack_t.capacity",
"url":24,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_idd.call_stack_t.reserve",
"url":24,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_idd.call_stack_t.truncate",
"url":24,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_idd.call_stack_t.swap",
"url":24,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_idd.call_stack_t.extract",
"url":24,
"doc":"extract(self) -> call_stack_info_t",
"func":1
},
{
"ref":"ida_idd.call_stack_t.inject",
"url":24,
"doc":"inject(self, s, len) @param s: call_stack_info_t  @param len: size_t",
"func":1
},
{
"ref":"ida_idd.call_stack_t.begin",
"url":24,
"doc":"begin(self) -> call_stack_info_t",
"func":1
},
{
"ref":"ida_idd.call_stack_t.end",
"url":24,
"doc":"end(self) -> call_stack_info_t",
"func":1
},
{
"ref":"ida_idd.call_stack_t.insert",
"url":24,
"doc":"insert(self, it, x) -> call_stack_info_t @param it: qvector  iterator @param x: call_stack_info_t const &",
"func":1
},
{
"ref":"ida_idd.call_stack_t.erase",
"url":24,
"doc":"erase(self, it) -> call_stack_info_t @param it: qvector  iterator erase(self, first, last) -> call_stack_info_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_idd.call_stack_t.find",
"url":24,
"doc":"find(self, x) -> call_stack_info_t @param x: call_stack_info_t const &",
"func":1
},
{
"ref":"ida_idd.call_stack_t.has",
"url":24,
"doc":"has(self, x) -> bool @param x: call_stack_info_t const &",
"func":1
},
{
"ref":"ida_idd.call_stack_t.add_unique",
"url":24,
"doc":"add_unique(self, x) -> bool @param x: call_stack_info_t const &",
"func":1
},
{
"ref":"ida_idd.dbg_appcall",
"url":24,
"doc":"dbg_appcall(retval, func_ea, tid, ptif, argv, argnum) -> error_t Call a function from the debugged application. @param retval: (C : idc_value_t  ) function return value  for APPCALL_MANUAL, r will hold the new stack point value  for APPCALL_DEBEV, r will hold the exception information upon failure and the return code will be eExecThrow @param func_ea: (C : ea_t) address to call @param tid: (C : thid_t) thread to use. NO_THREAD means to use the current thread @param ptif: (C : const tinfo_t  ) pointer to type of the function to call @param argv: (C : idc_value_t  ) array of arguments @param argnum: (C : size_t) number of actual arguments @return: eOk if successful, otherwise an error code",
"func":1
},
{
"ref":"ida_idd.cleanup_appcall",
"url":24,
"doc":"cleanup_appcall(tid) -> error_t Cleanup after manual appcall. @param tid: (C : thid_t) thread to use. NO_THREAD means to use the current thread The application state is restored as it was before calling the last appcall(). Nested appcalls are supported. @return: eOk if successful, otherwise an error code",
"func":1
},
{
"ref":"ida_idd.thread_name_t",
"url":24,
"doc":"Proxy of C thread_name_t class. __init__(self) -> thread_name_t"
},
{
"ref":"ida_idd.thread_name_t.thisown",
"url":24,
"doc":"The membership flag"
},
{
"ref":"ida_idd.thread_name_t.tid",
"url":24,
"doc":"thread"
},
{
"ref":"ida_idd.thread_name_t.name",
"url":24,
"doc":"new thread name"
},
{
"ref":"ida_idd.RESMOD_NONE",
"url":24,
"doc":"no stepping, run freely"
},
{
"ref":"ida_idd.RESMOD_INTO",
"url":24,
"doc":"step into call (the most typical single stepping)"
},
{
"ref":"ida_idd.RESMOD_OVER",
"url":24,
"doc":"step over call"
},
{
"ref":"ida_idd.RESMOD_OUT",
"url":24,
"doc":"step out of the current function (run until return)"
},
{
"ref":"ida_idd.RESMOD_SRCINTO",
"url":24,
"doc":"until control reaches a different source line"
},
{
"ref":"ida_idd.RESMOD_SRCOVER",
"url":24,
"doc":"next source line in the current stack frame"
},
{
"ref":"ida_idd.RESMOD_SRCOUT",
"url":24,
"doc":"next source line in the previous stack frame"
},
{
"ref":"ida_idd.RESMOD_USER",
"url":24,
"doc":"step out to the user code"
},
{
"ref":"ida_idd.RESMOD_HANDLE",
"url":24,
"doc":"step into the exception handler"
},
{
"ref":"ida_idd.STEP_TRACE",
"url":24,
"doc":"lowest level trace. trace buffers are not maintained"
},
{
"ref":"ida_idd.INSN_TRACE",
"url":24,
"doc":"instruction tracing"
},
{
"ref":"ida_idd.FUNC_TRACE",
"url":24,
"doc":"function tracing"
},
{
"ref":"ida_idd.BBLK_TRACE",
"url":24,
"doc":"basic block tracing"
},
{
"ref":"ida_idd.DRC_EVENTS",
"url":24,
"doc":"success, there are pending events"
},
{
"ref":"ida_idd.DRC_CRC",
"url":24,
"doc":"success, but the input file crc does not match"
},
{
"ref":"ida_idd.DRC_OK",
"url":24,
"doc":"success"
},
{
"ref":"ida_idd.DRC_NONE",
"url":24,
"doc":"reaction to the event not implemented"
},
{
"ref":"ida_idd.DRC_FAILED",
"url":24,
"doc":"failed or false"
},
{
"ref":"ida_idd.DRC_NETERR",
"url":24,
"doc":"network error"
},
{
"ref":"ida_idd.DRC_NOFILE",
"url":24,
"doc":"file not found"
},
{
"ref":"ida_idd.DRC_IDBSEG",
"url":24,
"doc":"use idb segmentation"
},
{
"ref":"ida_idd.DRC_NOPROC",
"url":24,
"doc":"the process does not exist anymore"
},
{
"ref":"ida_idd.DRC_NOCHG",
"url":24,
"doc":"no changes"
},
{
"ref":"ida_idd.DRC_ERROR",
"url":24,
"doc":"unclassified error, may be complemented by errbuf"
},
{
"ref":"ida_idd.debugger_t",
"url":24,
"doc":"Proxy of C debugger_t class. __init__(self) -> debugger_t"
},
{
"ref":"ida_idd.debugger_t.thisown",
"url":24,
"doc":"The membership flag"
},
{
"ref":"ida_idd.debugger_t.version",
"url":24,
"doc":"Expected kernel version, should be IDD_INTERFACE_VERSION"
},
{
"ref":"ida_idd.debugger_t.name",
"url":24,
"doc":"Short debugger name like win32 or linux."
},
{
"ref":"ida_idd.debugger_t.id",
"url":24,
"doc":"one of Debugger API module id"
},
{
"ref":"ida_idd.debugger_t.processor",
"url":24,
"doc":"Required processor name. Used for instant debugging to load the correct processor module"
},
{
"ref":"ida_idd.debugger_t.flags",
"url":24,
"doc":"flags"
},
{
"ref":"ida_idd.debugger_t.flags2",
"url":24,
"doc":"Debugger module features"
},
{
"ref":"ida_idd.debugger_t.is_remote",
"url":24,
"doc":"is_remote(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.must_have_hostname",
"url":24,
"doc":"must_have_hostname(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.can_continue_from_bpt",
"url":24,
"doc":"can_continue_from_bpt(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.may_disturb",
"url":24,
"doc":"may_disturb(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.is_safe",
"url":24,
"doc":"is_safe(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.use_sregs",
"url":24,
"doc":"use_sregs(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.cache_block_size",
"url":24,
"doc":"cache_block_size(self) -> size_t",
"func":1
},
{
"ref":"ida_idd.debugger_t.use_memregs",
"url":24,
"doc":"use_memregs(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.may_take_exit_snapshot",
"url":24,
"doc":"may_take_exit_snapshot(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.virtual_threads",
"url":24,
"doc":"virtual_threads(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.supports_lowcnds",
"url":24,
"doc":"supports_lowcnds(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.supports_debthread",
"url":24,
"doc":"supports_debthread(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.can_debug_standalone_dlls",
"url":24,
"doc":"can_debug_standalone_dlls(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.fake_memory",
"url":24,
"doc":"fake_memory(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.has_get_processes",
"url":24,
"doc":"has_get_processes(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.has_attach_process",
"url":24,
"doc":"has_attach_process(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.has_detach_process",
"url":24,
"doc":"has_detach_process(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.has_request_pause",
"url":24,
"doc":"has_request_pause(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.has_set_exception_info",
"url":24,
"doc":"has_set_exception_info(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.has_thread_suspend",
"url":24,
"doc":"has_thread_suspend(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.has_thread_continue",
"url":24,
"doc":"has_thread_continue(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.has_set_resume_mode",
"url":24,
"doc":"has_set_resume_mode(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.has_thread_get_sreg_base",
"url":24,
"doc":"has_thread_get_sreg_base(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.has_check_bpt",
"url":24,
"doc":"has_check_bpt(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.has_open_file",
"url":24,
"doc":"has_open_file(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.has_update_call_stack",
"url":24,
"doc":"has_update_call_stack(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.has_appcall",
"url":24,
"doc":"has_appcall(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.has_rexec",
"url":24,
"doc":"has_rexec(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.has_map_address",
"url":24,
"doc":"has_map_address(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.has_soft_bpt",
"url":24,
"doc":"has_soft_bpt(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.default_regclasses",
"url":24,
"doc":"Mask of default printed register classes."
},
{
"ref":"ida_idd.debugger_t.regs",
"url":24,
"doc":"regs(self, idx) -> register_info_t @param idx: int",
"func":1
},
{
"ref":"ida_idd.debugger_t.memory_page_size",
"url":24,
"doc":"Size of a memory page. Usually 4K."
},
{
"ref":"ida_idd.debugger_t.bpt_size",
"url":24,
"doc":"Size of the software breakpoint instruction in bytes."
},
{
"ref":"ida_idd.debugger_t.filetype",
"url":24,
"doc":"Input file type for the instant debugger. This value will be used after attaching to a new process."
},
{
"ref":"ida_idd.debugger_t.resume_modes",
"url":24,
"doc":"Resume modes"
},
{
"ref":"ida_idd.debugger_t.is_resmod_avail",
"url":24,
"doc":"is_resmod_avail(self, resmod) -> bool @param resmod: int",
"func":1
},
{
"ref":"ida_idd.debugger_t.ev_init_debugger",
"url":24,
"doc":"Initialize debugger. This event is generated in the main thread. @param hostname: (const char  ) @param portnum: (int) @param password: (const char  ) @param errbuf: (qstring  ) may be nullptr @return: DRC_OK, DRC_FAILED"
},
{
"ref":"ida_idd.debugger_t.ev_term_debugger",
"url":24,
"doc":"Terminate debugger. This event is generated in the main thread. @return: DRC_OK, DRC_FAILED"
},
{
"ref":"ida_idd.debugger_t.ev_get_processes",
"url":24,
"doc":"Return information about the running processes. This event is generated in the main thread. Available if DBG_HAS_GET_PROCESSES is set @param procs: ( procinfo_vec_t  ) @param errbuf: (qstring  ) may be nullptr @return: DRC_NONE, DRC_OK, DRC_FAILED, DRC_NETERR"
},
{
"ref":"ida_idd.debugger_t.ev_start_process",
"url":24,
"doc":"Start an executable to debug. This event is generated in debthread. Must be implemented. @param path: (const char  ) path to executable @param args: (const char  ) arguments to pass to executable @param startdir: (const char  ) initial working directory of new process @param dbg_proc_flags: (uint32) Debug process flags @param input_path: (const char  ) path to the file that was used to create the idb file It is not always the same as 'path' - e.g. if we are analyzing a dll and want to launch an executable that loads it. @param input_file_crc32: (uint32) CRC value for 'input_path' @param errbuf: (qstring  ) may be nullptr @param envs: (launch_env_t  ) environment variables for debugged process @return: DRC_OK, DRC_CRC, DRC_FAILED, DRC_NETERR, DRC_NOFILE"
},
{
"ref":"ida_idd.debugger_t.ev_attach_process",
"url":24,
"doc":"Attach to an existing running process. event_id should be equal to -1 if not attaching to a crashed process. This event is generated in debthread. Available if DBG_HAS_ATTACH_PROCESS is set @param pid: (pid_t) process id to attach @param event_id: (int) event to trigger upon attaching @param dbg_proc_flags: (uint32) Debug process flags @param errbuf: (qstring  ) may be nullptr @return: DRC_NONE, DRC_OK, DRC_FAILED, DRC_NETERR"
},
{
"ref":"ida_idd.debugger_t.ev_detach_process",
"url":24,
"doc":"Detach from the debugged process. May be generated while the process is running or suspended. Must detach from the process in any case. The kernel will repeatedly call get_debug_event() until PROCESS_DETACHED is received. In this mode, all other events will be automatically handled and process will be resumed. This event is generated from debthread. Available if DBG_HAS_DETACH_PROCESS is set @return: DRC_NONE, DRC_OK, DRC_FAILED, DRC_NETERR"
},
{
"ref":"ida_idd.debugger_t.ev_get_debapp_attrs",
"url":24,
"doc":"Retrieve process- and debugger-specific runtime attributes. This event is generated in the main thread. @param out_pattrs: (debapp_attrs_t  ) @return: DRC_NONE, DRC_OK"
},
{
"ref":"ida_idd.debugger_t.ev_rebase_if_required_to",
"url":24,
"doc":"Rebase database if the debugged program has been rebased by the system. This event is generated in the main thread. @param new_base: ( ea_t) @return: DRC_NONE, DRC_OK"
},
{
"ref":"ida_idd.debugger_t.ev_request_pause",
"url":24,
"doc":"Prepare to pause the process. Normally the next get_debug_event() will pause the process If the process is sleeping, then the pause will not occur until the process wakes up. If the debugger module does not react to this event, then it will be impossible to pause the program. This event is generated in debthread. Available if DBG_HAS_REQUEST_PAUSE is set @param errbuf: (qstring  ) may be nullptr @return: DRC_NONE, DRC_OK, DRC_FAILED, DRC_NETERR"
},
{
"ref":"ida_idd.debugger_t.ev_exit_process",
"url":24,
"doc":"Stop the process. May be generated while the process is running or suspended. Must terminate the process in any case. The kernel will repeatedly call get_debug_event() until PROCESS_EXITED is received. In this mode, all other events will be automatically handled and process will be resumed. This event is generated in debthread. Must be implemented. @param errbuf: (qstring  ) may be nullptr @return: DRC_NONE, DRC_OK, DRC_FAILED, DRC_NETERR"
},
{
"ref":"ida_idd.debugger_t.ev_get_debug_event",
"url":24,
"doc":"Get a pending debug event and suspend the process. This event will be generated regularly by IDA. This event is generated in debthread. IMPORTANT: the BREAKPOINT/EXCEPTION/STEP events must be reported only after reporting other pending events for a thread. Must be implemented. @param code: (gdecode_t  ) @param event: (debug_event_t  ) @param timeout_ms: (int) @retval ignored"
},
{
"ref":"ida_idd.debugger_t.ev_resume",
"url":24,
"doc":"Continue after handling the event. This event is generated in debthread. Must be implemented. @param event: (debug_event_t  ) @return: DRC_OK, DRC_FAILED, DRC_NETERR"
},
{
"ref":"ida_idd.debugger_t.ev_set_exception_info",
"url":24,
"doc":"Set exception handling. This event is generated in debthread or the main thread. Available if DBG_HAS_SET_EXCEPTION_INFO is set @param info: (exception_info_t  ) @param qty: (int) @return: DRC_NONE, DRC_OK"
},
{
"ref":"ida_idd.debugger_t.ev_suspended",
"url":24,
"doc":"This event will be generated by the kernel each time it has suspended the debuggee process and refreshed the database. The debugger module may add information to the database if necessary. The reason for introducing this event is that when an event like LOAD_DLL happens, the database does not reflect the memory state yet and therefore we can't add information about the dll into the database in the get_debug_event() function. Only when the kernel has adjusted the database we can do it. Example: for loaded PE DLLs we can add the exported function names to the list of debug names (see set_debug_names( . This event is generated in the main thread. @param dlls_added: (bool) @param thr_names: (thread_name_vec_t  ) (for the kernel only, must be nullptr) @return: DRC_NONE, DRC_OK"
},
{
"ref":"ida_idd.debugger_t.ev_thread_suspend",
"url":24,
"doc":"Suspend a running thread Available if DBG_HAS_THREAD_SUSPEND is set @param tid: (thid_t)"
},
{
"ref":"ida_idd.debugger_t.ev_thread_continue",
"url":24,
"doc":"Resume a suspended thread Available if DBG_HAS_THREAD_CONTINUE is set @param tid: (thid_t)"
},
{
"ref":"ida_idd.debugger_t.ev_set_resume_mode",
"url":24,
"doc":"Specify resume action Available if DBG_HAS_SET_RESUME_MODE is set @param tid: (thid_t) @param resmod: (resume_mode_t)"
},
{
"ref":"ida_idd.debugger_t.ev_read_registers",
"url":24,
"doc":"Read thread registers. This event is generated in debthread. Must be implemented. @param tid: (thid_t) thread id @param clsmask: (int) bitmask of register classes to read @param values: (regval_t  ) pointer to vector of regvals for all registers. regval must have debugger_t nregisters elements @param errbuf: (qstring  ) may be nullptr @return: DRC_OK, DRC_FAILED, DRC_NETERR"
},
{
"ref":"ida_idd.debugger_t.ev_write_register",
"url":24,
"doc":"Write one thread register. This event is generated in debthread. Must be implemented. @param tid: (thid_t) thread id @param regidx: (int) register index @param value: (const regval_t  ) new value of the register @param errbuf: (qstring  ) may be nullptr @return: DRC_OK, DRC_FAILED, DRC_NETERR"
},
{
"ref":"ida_idd.debugger_t.ev_thread_get_sreg_base",
"url":24,
"doc":"Get information about the base of a segment register. Currently used by the IBM PC module to resolve references like fs:0. This event is generated in debthread. Available if DBG_HAS_THREAD_GET_SREG_BASE is set @param answer: ( ea_t  ) pointer to the answer. can't be nullptr. @param tid: (thid_t) thread id @param sreg_value: (int) value of the segment register (returned by get_reg_val( @param errbuf: (qstring  ) may be nullptr @return: DRC_NONE, DRC_OK, DRC_FAILED, DRC_NETERR"
},
{
"ref":"ida_idd.debugger_t.ev_get_memory_info",
"url":24,
"doc":"Get information on the memory ranges. The debugger module fills 'ranges'. The returned vector must be sorted. This event is generated in debthread. Must be implemented. @param ranges: (meminfo_vec_t  ) @param errbuf: (qstring  ) may be nullptr @retval DRC_OK: new memory layout is returned @retval DRC_FAILED,DRC_NETERR,DRC_NOPROC,DRC_NOCHG,DRC_IDBSEG"
},
{
"ref":"ida_idd.debugger_t.ev_read_memory",
"url":24,
"doc":"Read process memory. This event is generated in debthread. @param nbytes: (size_t  ) number of read bytes @param ea: ( ea_t) @param buffer: (void  ) @param size: ( size_t) @param errbuf: (qstring  ) may be nullptr @return: DRC_OK, DRC_FAILED, DRC_NOPROC"
},
{
"ref":"ida_idd.debugger_t.ev_write_memory",
"url":24,
"doc":"Write process memory. This event is generated in debthread. @param nbytes: (size_t  ) number of written bytes @param ea: ( ea_t) @param buffer: (const void  ) @param size: ( size_t) @param errbuf: (qstring  ) may be nullptr @retval DRC_OK,DRC_FAILED,DRC_NOPROC"
},
{
"ref":"ida_idd.debugger_t.ev_check_bpt",
"url":24,
"doc":"Is it possible to set breakpoint? This event is generated in debthread or in the main thread if debthread is not running yet. It is generated to verify hardware breakpoints. Available if DBG_HAS_CHECK_BPT is set @param bptvc: (int  ) breakpoint verification codes Breakpoint verification codes @param type: (bpttype_t) Hardware breakpoint ids @param ea: ( ea_t) @param len: (int) @return: DRC_OK, DRC_NONE"
},
{
"ref":"ida_idd.debugger_t.ev_update_bpts",
"url":24,
"doc":"Add/del breakpoints. bpts array contains nadd bpts to add, followed by ndel bpts to del. This event is generated in debthread. @param nbpts: (int  ) number of updated breakpoints @param bpts: (update_bpt_info_t  ) @param nadd: (int) @param ndel: (int) @param errbuf: (qstring  ) may be nullptr @return: DRC_OK, DRC_FAILED, DRC_NETERR"
},
{
"ref":"ida_idd.debugger_t.ev_update_lowcnds",
"url":24,
"doc":"Update low-level (server side) breakpoint conditions. This event is generated in debthread. @param nupdated: (int  ) number of updated conditions @param lowcnds: (const lowcnd_t  ) @param nlowcnds: (int) @param errbuf: (qstring  ) may be nullptr @return: DRC_OK, DRC_NETERR"
},
{
"ref":"ida_idd.debugger_t.ev_open_file",
"url":24,
"doc":"@param file: (const char  ) @param fsize: ( uint64  ) @param readonly: (bool) @param errbuf: (qstring  ) may be nullptr @retval (int): handle @retval -1: error"
},
{
"ref":"ida_idd.debugger_t.ev_close_file",
"url":24,
"doc":"@param fn: (int) handle @return: ignored"
},
{
"ref":"ida_idd.debugger_t.ev_read_file",
"url":24,
"doc":"@param fn: (int) handle @param off: (qoff64_t) @param buf: (void  ) @param size: (size_t) @param errbuf: (qstring  ) may be nullptr @retval number: of read bytes"
},
{
"ref":"ida_idd.debugger_t.ev_write_file",
"url":24,
"doc":"@param fn: (int) handle @param off: (qoff64_t) @param buf: (const void  ) @param size: (size_t) @param errbuf: (qstring  ) may be nullptr @retval number: of written bytes"
},
{
"ref":"ida_idd.debugger_t.ev_map_address",
"url":24,
"doc":"Map process address. The debugger module may ignore this event. This event is generated in debthread. IDA will generate this event only if DBG_HAS_MAP_ADDRESS is set. @param mapped: ( ea_t  ) mapped address or BADADDR @param off: ( ea_t) offset to map @param regs: (const regval_t  ) current register values. if regs  nullptr, then perform global mapping, which is independent on used registers usually such a mapping is a trivial identity mapping @param regnum: (int) required mapping. May be specified as a segment register number or a regular register number if the required mapping can be deduced from it. For example, esp implies that ss should be used. @return: DRC_NONE, DRC_OK see MAPPED"
},
{
"ref":"ida_idd.debugger_t.ev_get_debmod_extensions",
"url":24,
"doc":"Get pointer to debugger specific events. This event returns a pointer to a structure that holds pointers to debugger module specific events. For information on the structure layout, please check the corresponding debugger module. Most debugger modules return nullptr because they do not have any extensions. Available extensions may be generated from plugins. This event is generated in the main thread. @param ext: (void  ) @return: DRC_NONE, DRC_OK see EXT"
},
{
"ref":"ida_idd.debugger_t.ev_update_call_stack",
"url":24,
"doc":"Calculate the call stack trace for the given thread. This event is generated when the process is suspended and should fill the 'trace' object with the information about the current call stack. If this event returns DRC_NONE, IDA will try to invoke a processor-specific mechanism (see processor_t ev_update_call_stack). If the current processor module does not implement stack tracing, then IDA will fall back to a generic algorithm (based on the frame pointer chain) to calculate the trace. This event is ideal if the debugging targets manage stack frames in a peculiar way, requiring special analysis. This event is generated in the main thread. Available if DBG_HAS_UPDATE_CALL_STACK is set @param tid: (thid_t) @param trace: (call_stack_t  ) @retval DRC_NONE: false or not implemented @return: DRC_OK success"
},
{
"ref":"ida_idd.debugger_t.ev_appcall",
"url":24,
"doc":"Call application function. This event calls a function from the debugged application. This event is generated in debthread Available if HAS_APPCALL is set @param blob_ea: ( ea_t  ) ea of stkargs blob, BADADDR if failed and errbuf is filled @param func_ea: ( ea_t) address to call @param tid: (thid_t) thread to use @param fti: (const func_type_data_t  ) type information for the generated event @param nargs: (int) number of actual arguments @param regargs: (const regobjs_t  ) information about register arguments @param stkargs: (relobj_t  ) memory blob to pass as stack arguments (usually contains pointed data) it must be relocated by the callback but not changed otherwise @param retregs: (regobjs_t  ) event return registers. @param errbuf: (qstring  ) the error message. if empty on failure, see EVENT. should not be filled if an appcall exception happened but APPCALL_DEBEV is set @param event: (debug_event_t  ) the last debug event that occurred during appcall execution filled only if the appcall execution fails and APPCALL_DEBEV is set @param options: (int) appcall options, usually taken from idainfo appcall_options. possible values: combination of Appcall options or 0 @retval DRC_NONE @retval DRC_OK,see: BLOB_EA"
},
{
"ref":"ida_idd.debugger_t.ev_cleanup_appcall",
"url":24,
"doc":"Cleanup after appcall(). The debugger module must keep the stack blob in the memory until this event is generated. It will be generated by the kernel for each successful appcall(). There is an exception: if APPCALL_MANUAL, IDA may not call cleanup_appcall. If the user selects to terminate a manual appcall, then cleanup_appcall will be generated. Otherwise, the debugger module should terminate the appcall when the generated event returns. This event is generated in debthread. Available if HAS_APPCALL is set @param tid: (thid_t) @retval DRC_EVENTS: success, there are pending events @retval DRC_OK: success @retval DRC_FAILED: failed @retval DRC_NETERR: network error"
},
{
"ref":"ida_idd.debugger_t.ev_eval_lowcnd",
"url":24,
"doc":"Evaluate a low level breakpoint condition at 'ea'. Other evaluation errors are displayed in a dialog box. This call is used by IDA when the process has already been temporarily suspended for some reason and IDA has to decide whether the process should be resumed or definitely suspended because of a breakpoint with a low level condition. This event is generated in debthread. @param tid: (thid_t) @param ea: ( ea_t) @param errbuf: (qstring  ) may be nullptr @retval DRC_OK: condition is satisfied @retval DRC_FAILED: not satisfied @retval DRC_NETERR: network error"
},
{
"ref":"ida_idd.debugger_t.ev_send_ioctl",
"url":24,
"doc":"Perform a debugger-specific event. This event is generated in debthread @param fn: (int) @param buf: (const void  ) @param size: (size_t) @param poutbuf: (void  ) @param poutsize: (ssize_t  ) @param errbuf: (qstring  ) may be nullptr @retval DRC_ ."
},
{
"ref":"ida_idd.debugger_t.ev_dbg_enable_trace",
"url":24,
"doc":"Enable/Disable tracing. The kernel will generated this event if the debugger plugin set DBG_FLAG_TRACER_MODULE. TRACE_FLAGS can be a set of STEP_TRACE, INSN_TRACE, BBLK_TRACE or FUNC_TRACE. This event is generated in the main thread. @param tid: (thid_t) @param enable: (bool) @param trace_flags: (int) @return: DRC_OK, DRC_FAILED, DRC_NONE"
},
{
"ref":"ida_idd.debugger_t.ev_is_tracing_enabled",
"url":24,
"doc":"Is tracing enabled? The kernel will generated this event if the debugger plugin set DBG_FLAG_TRACER_MODULE. TRACE_BIT can be one of the following: STEP_TRACE, INSN_TRACE, BBLK_TRACE or FUNC_TRACE @param tid: (thid_t) @param tracebit: (int) @retval DRC_OK: bit is set @retval DRC_NONE: bit is not set or not implemented"
},
{
"ref":"ida_idd.debugger_t.ev_rexec",
"url":24,
"doc":"Execute a command on the remote computer. Available if DBG_HAS_REXEC is set @param cmdline: (const char  ) @return: (int) exit code"
},
{
"ref":"ida_idd.debugger_t.ev_get_srcinfo_path",
"url":24,
"doc":"Get the path to a file containing source debug info for the given module. This allows srcinfo providers to call into the debugger when looking for debug info. It is useful in certain cases like the iOS debugger, which is a remote debugger but the remote debugserver does not provide dwarf info. So, we allow the debugger client to decide where to look for debug info locally. @param path: (qstring  ) output path (file might not exist) @param base: ( ea_t) base address of a module in the target process @return: DRC_NONE, DRC_OK result stored in PATH"
},
{
"ref":"ida_idd.debugger_t.ev_bin_search",
"url":24,
"doc":"Search for a binary pattern in the program. @param out: ( ea_t  ) binary pattern address @param start_ea: ( ea_t) linear address, start of range to search @param end_ea: ( ea_t) linear address, end of range to search (exclusive) @param data: (const  compiled_binpat_vec_t  ) the prepared data to search for (see parse_binpat_str( @param srch_flags: (int) combination of Search flags @param errbuf: (qstring  ) may be nullptr @return: DRC_OK EA contains the binary pattern address @retval DRC_FAILED: not found @retval DRC_NONE: not implemented @retval DRC_NETERR,DRC_ERROR"
},
{
"ref":"ida_idd.debugger_t.init_debugger",
"url":24,
"doc":"init_debugger(self, hostname, portnum, password) -> bool @param hostname: char const  @param portnum: int @param password: char const  ",
"func":1
},
{
"ref":"ida_idd.debugger_t.term_debugger",
"url":24,
"doc":"term_debugger(self) -> bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.get_processes",
"url":24,
"doc":"get_processes(self, procs) -> drc_t @param procs: procinfo_vec_t  ",
"func":1
},
{
"ref":"ida_idd.debugger_t.start_process",
"url":24,
"doc":"start_process(self, path, args, envs, startdir, dbg_proc_flags, input_path, input_file_crc32) -> drc_t @param path: char const  @param args: char const  @param envs: launch_env_t  @param startdir: char const  @param dbg_proc_flags: uint32 @param input_path: char const  @param input_file_crc32: uint32",
"func":1
},
{
"ref":"ida_idd.debugger_t.attach_process",
"url":24,
"doc":"attach_process(self, pid, event_id, dbg_proc_flags) -> drc_t @param pid: pid_t @param event_id: int @param dbg_proc_flags: uint32",
"func":1
},
{
"ref":"ida_idd.debugger_t.detach_process",
"url":24,
"doc":"detach_process(self) -> drc_t",
"func":1
},
{
"ref":"ida_idd.debugger_t.get_debapp_attrs",
"url":24,
"doc":"get_debapp_attrs(self, out_pattrs) -> bool @param out_pattrs: debapp_attrs_t  ",
"func":1
},
{
"ref":"ida_idd.debugger_t.rebase_if_required_to",
"url":24,
"doc":"rebase_if_required_to(self, new_base) @param new_base: ea_t",
"func":1
},
{
"ref":"ida_idd.debugger_t.request_pause",
"url":24,
"doc":"request_pause(self) -> drc_t",
"func":1
},
{
"ref":"ida_idd.debugger_t.exit_process",
"url":24,
"doc":"exit_process(self) -> drc_t",
"func":1
},
{
"ref":"ida_idd.debugger_t.get_debug_event",
"url":24,
"doc":"get_debug_event(self, event, timeout_ms) -> gdecode_t @param event: debug_event_t  @param timeout_ms: int",
"func":1
},
{
"ref":"ida_idd.debugger_t.resume",
"url":24,
"doc":"resume(self, event) -> drc_t @param event: debug_event_t const  ",
"func":1
},
{
"ref":"ida_idd.debugger_t.set_exception_info",
"url":24,
"doc":"set_exception_info(self, info, qty) @param info: exception_info_t const  @param qty: int",
"func":1
},
{
"ref":"ida_idd.debugger_t.suspended",
"url":24,
"doc":"suspended(self, dlls_added, thr_names=None) @param dlls_added: bool @param thr_names: thread_name_vec_t  ",
"func":1
},
{
"ref":"ida_idd.debugger_t.thread_suspend",
"url":24,
"doc":"thread_suspend(self, tid) -> drc_t @param tid: thid_t",
"func":1
},
{
"ref":"ida_idd.debugger_t.thread_continue",
"url":24,
"doc":"thread_continue(self, tid) -> drc_t @param tid: thid_t",
"func":1
},
{
"ref":"ida_idd.debugger_t.set_resume_mode",
"url":24,
"doc":"set_resume_mode(self, tid, resmod) -> drc_t @param tid: thid_t @param resmod: enum resume_mode_t",
"func":1
},
{
"ref":"ida_idd.debugger_t.read_registers",
"url":24,
"doc":"read_registers(self, tid, clsmask, values) -> drc_t @param tid: thid_t @param clsmask: int @param values: regval_t  ",
"func":1
},
{
"ref":"ida_idd.debugger_t.write_register",
"url":24,
"doc":"write_register(self, tid, regidx, value) -> drc_t @param tid: thid_t @param regidx: int @param value: regval_t const  ",
"func":1
},
{
"ref":"ida_idd.debugger_t.thread_get_sreg_base",
"url":24,
"doc":"thread_get_sreg_base(self, answer, tid, sreg_value) -> drc_t @param answer: ea_t  @param tid: thid_t @param sreg_value: int",
"func":1
},
{
"ref":"ida_idd.debugger_t.get_memory_info",
"url":24,
"doc":"get_memory_info(self, ranges) -> drc_t @param ranges: meminfo_vec_t &",
"func":1
},
{
"ref":"ida_idd.debugger_t.read_memory",
"url":24,
"doc":"read_memory(self, nbytes, ea, buffer, size) -> drc_t @param nbytes: size_t  @param ea: ea_t @param buffer: void  @param size: size_t",
"func":1
},
{
"ref":"ida_idd.debugger_t.write_memory",
"url":24,
"doc":"write_memory(self, nbytes, ea, buffer, size) -> drc_t @param nbytes: size_t  @param ea: ea_t @param buffer: void const  @param size: size_t",
"func":1
},
{
"ref":"ida_idd.debugger_t.check_bpt",
"url":24,
"doc":"check_bpt(self, bptvc, type, ea, len) -> drc_t @param bptvc: int  @param type: bpttype_t @param ea: ea_t @param len: int",
"func":1
},
{
"ref":"ida_idd.debugger_t.update_bpts",
"url":24,
"doc":"update_bpts(self, nbpts, bpts, nadd, ndel) -> drc_t @param nbpts: int  @param bpts: update_bpt_info_t  @param nadd: int @param ndel: int",
"func":1
},
{
"ref":"ida_idd.debugger_t.update_lowcnds",
"url":24,
"doc":"update_lowcnds(self, nupdated, lowcnds, nlowcnds) -> drc_t @param nupdated: int  @param lowcnds: lowcnd_t const  @param nlowcnds: int",
"func":1
},
{
"ref":"ida_idd.debugger_t.open_file",
"url":24,
"doc":"open_file(self, file, fsize, readonly) -> int @param file: char const  @param fsize: uint64  @param readonly: bool",
"func":1
},
{
"ref":"ida_idd.debugger_t.close_file",
"url":24,
"doc":"close_file(self, fn) @param fn: int",
"func":1
},
{
"ref":"ida_idd.debugger_t.read_file",
"url":24,
"doc":"read_file(self, fn, off, buf, size) -> ssize_t @param fn: int @param off: qoff64_t @param buf: void  @param size: size_t",
"func":1
},
{
"ref":"ida_idd.debugger_t.write_file",
"url":24,
"doc":"write_file(self, fn, off, buf) -> ssize_t @param fn: int @param off: qoff64_t @param buf: void const  ",
"func":1
},
{
"ref":"ida_idd.debugger_t.map_address",
"url":24,
"doc":"map_address(self, off, regs, regnum) -> ea_t @param off: ea_t @param regs: regval_t const  @param regnum: int",
"func":1
},
{
"ref":"ida_idd.debugger_t.get_debmod_extensions",
"url":24,
"doc":"get_debmod_extensions(self) -> void const  ",
"func":1
},
{
"ref":"ida_idd.debugger_t.update_call_stack",
"url":24,
"doc":"update_call_stack(self, tid, trace) -> drc_t @param tid: thid_t @param trace: call_stack_t  ",
"func":1
},
{
"ref":"ida_idd.debugger_t.cleanup_appcall",
"url":24,
"doc":"cleanup_appcall(self, tid) -> drc_t @param tid: thid_t",
"func":1
},
{
"ref":"ida_idd.debugger_t.eval_lowcnd",
"url":24,
"doc":"eval_lowcnd(self, tid, ea) -> drc_t @param tid: thid_t @param ea: ea_t",
"func":1
},
{
"ref":"ida_idd.debugger_t.send_ioctl",
"url":24,
"doc":"send_ioctl(self, fn, buf, poutbuf, poutsize) -> drc_t @param fn: int @param buf: void const  @param poutbuf: void  @param poutsize: ssize_t  ",
"func":1
},
{
"ref":"ida_idd.debugger_t.dbg_enable_trace",
"url":24,
"doc":"dbg_enable_trace(self, tid, enable, trace_flags) -> bool @param tid: thid_t @param enable: bool @param trace_flags: int",
"func":1
},
{
"ref":"ida_idd.debugger_t.is_tracing_enabled",
"url":24,
"doc":"is_tracing_enabled(self, tid, tracebit) -> bool @param tid: thid_t @param tracebit: int",
"func":1
},
{
"ref":"ida_idd.debugger_t.rexec",
"url":24,
"doc":"rexec(self, cmdline) -> int @param cmdline: char const  ",
"func":1
},
{
"ref":"ida_idd.debugger_t.get_srcinfo_path",
"url":24,
"doc":"get_srcinfo_path(self, path, base) -> bool @param path: qstring  @param base: ea_t",
"func":1
},
{
"ref":"ida_idd.debugger_t.bin_search",
"url":24,
"doc":"bin_search(self, start_ea, end_ea, data, srch_flags) -> drc_t @param start_ea: ea_t @param end_ea: ea_t @param data: compiled_binpat_vec_t const & @param srch_flags: int",
"func":1
},
{
"ref":"ida_idd.debugger_t.registers",
"url":24,
"doc":"Array of registers. Use regs() to access it."
},
{
"ref":"ida_idd.debugger_t.nregisters",
"url":24,
"doc":"Number of registers."
},
{
"ref":"ida_idd.debugger_t.regclasses",
"url":24,
"doc":"Array of register class names."
},
{
"ref":"ida_idd.debugger_t.bpt_bytes",
"url":24,
"doc":"A software breakpoint instruction."
},
{
"ref":"ida_idd.DEBUGGER_ID_X86_IA32_WIN32_USER",
"url":24,
"doc":"Userland win32 processes (win32 debugging APIs)"
},
{
"ref":"ida_idd.DEBUGGER_ID_X86_IA32_LINUX_USER",
"url":24,
"doc":"Userland linux processes (ptrace( "
},
{
"ref":"ida_idd.DEBUGGER_ID_X86_IA32_MACOSX_USER",
"url":24,
"doc":"Userland MAC OS X processes."
},
{
"ref":"ida_idd.DEBUGGER_ID_ARM_IPHONE_USER",
"url":24,
"doc":"iPhone 1.x"
},
{
"ref":"ida_idd.DEBUGGER_ID_X86_IA32_BOCHS",
"url":24,
"doc":"BochsDbg.exe 32."
},
{
"ref":"ida_idd.DEBUGGER_ID_6811_EMULATOR",
"url":24,
"doc":"MC6812 emulator (beta)"
},
{
"ref":"ida_idd.DEBUGGER_ID_GDB_USER",
"url":24,
"doc":"GDB remote."
},
{
"ref":"ida_idd.DEBUGGER_ID_WINDBG",
"url":24,
"doc":"WinDBG using Microsoft Debug engine."
},
{
"ref":"ida_idd.DEBUGGER_ID_X86_DOSBOX_EMULATOR",
"url":24,
"doc":"Dosbox MS-DOS emulator."
},
{
"ref":"ida_idd.DEBUGGER_ID_ARM_LINUX_USER",
"url":24,
"doc":"Userland arm linux."
},
{
"ref":"ida_idd.DEBUGGER_ID_TRACE_REPLAYER",
"url":24,
"doc":"Fake debugger to replay recorded traces."
},
{
"ref":"ida_idd.DEBUGGER_ID_X86_PIN_TRACER",
"url":24,
"doc":"PIN Tracer module."
},
{
"ref":"ida_idd.DEBUGGER_ID_DALVIK_USER",
"url":24,
"doc":"Dalvik."
},
{
"ref":"ida_idd.DEBUGGER_ID_XNU_USER",
"url":24,
"doc":"XNU Kernel."
},
{
"ref":"ida_idd.DEBUGGER_ID_ARM_MACOS_USER",
"url":24,
"doc":"Userland arm MAC OS."
},
{
"ref":"ida_idd.DBG_FLAG_REMOTE",
"url":24,
"doc":"Remote debugger (requires remote host name unless DBG_FLAG_NOHOST)"
},
{
"ref":"ida_idd.DBG_FLAG_NOHOST",
"url":24,
"doc":"Remote debugger with does not require network params (host/port/pass). (a unique device connected to the machine)"
},
{
"ref":"ida_idd.DBG_FLAG_FAKE_ATTACH",
"url":24,
"doc":"PROCESS_ATTACHED is a fake event and does not suspend the execution"
},
{
"ref":"ida_idd.DBG_FLAG_HWDATBPT_ONE",
"url":24,
"doc":"Hardware data breakpoints are one byte size by default"
},
{
"ref":"ida_idd.DBG_FLAG_CAN_CONT_BPT",
"url":24,
"doc":"Debugger knows to continue from a bpt. This flag also means that the debugger module hides breakpoints from ida upon read_memory"
},
{
"ref":"ida_idd.DBG_FLAG_NEEDPORT",
"url":24,
"doc":"Remote debugger requires port number (to be used with DBG_FLAG_NOHOST)"
},
{
"ref":"ida_idd.DBG_FLAG_DONT_DISTURB",
"url":24,
"doc":"Debugger can handle only get_debug_event(), request_pause(), exit_process() when the debugged process is running. The kernel may also call service functions (file I/O, map_address, etc)"
},
{
"ref":"ida_idd.DBG_FLAG_SAFE",
"url":24,
"doc":"The debugger is safe (probably because it just emulates the application without really running it)"
},
{
"ref":"ida_idd.DBG_FLAG_CLEAN_EXIT",
"url":24,
"doc":"IDA must suspend the application and remove all breakpoints before terminating the application. Usually this is not required because the application memory disappears upon termination."
},
{
"ref":"ida_idd.DBG_FLAG_USE_SREGS",
"url":24,
"doc":"Take segment register values into account (non flat memory)"
},
{
"ref":"ida_idd.DBG_FLAG_NOSTARTDIR",
"url":24,
"doc":"Debugger module doesn't use startup directory."
},
{
"ref":"ida_idd.DBG_FLAG_NOPARAMETERS",
"url":24,
"doc":"Debugger module doesn't use commandline parameters."
},
{
"ref":"ida_idd.DBG_FLAG_NOPASSWORD",
"url":24,
"doc":"Remote debugger doesn't use password."
},
{
"ref":"ida_idd.DBG_FLAG_CONNSTRING",
"url":24,
"doc":"Display \"Connection string\" instead of \"Hostname\" and hide the \"Port\" field."
},
{
"ref":"ida_idd.DBG_FLAG_SMALLBLKS",
"url":24,
"doc":"If set, IDA uses 256-byte blocks for caching memory contents. Otherwise, 1024-byte blocks are used"
},
{
"ref":"ida_idd.DBG_FLAG_MANMEMINFO",
"url":24,
"doc":"If set, manual memory region manipulation commands will be available. Use this bit for debugger modules that cannot return memory layout information"
},
{
"ref":"ida_idd.DBG_FLAG_EXITSHOTOK",
"url":24,
"doc":"IDA may take a memory snapshot at PROCESS_EXITED event."
},
{
"ref":"ida_idd.DBG_FLAG_VIRTHREADS",
"url":24,
"doc":"Thread IDs may be shuffled after each debug event. (to be used for virtual threads that represent cpus for windbg kmode)"
},
{
"ref":"ida_idd.DBG_FLAG_LOWCNDS",
"url":24,
"doc":"Low level breakpoint conditions are supported."
},
{
"ref":"ida_idd.DBG_FLAG_DEBTHREAD",
"url":24,
"doc":"Supports creation of a separate thread in ida for the debugger (the debthread). Most debugger functions will be called from debthread (exceptions are marked below) The debugger module may directly call only THREAD_SAFE functions. To call other functions please use execute_sync(). The debthread significantly increases debugging speed, especially if debug events occur frequently."
},
{
"ref":"ida_idd.DBG_FLAG_DEBUG_DLL",
"url":24,
"doc":"Can debug standalone DLLs. For example, Bochs debugger can debug any snippet of code"
},
{
"ref":"ida_idd.DBG_FLAG_FAKE_MEMORY",
"url":24,
"doc":"get_memory_info()/read_memory()/write_memory() work with the idb. (there is no real process to read from, as for the replayer module) the kernel will not call these functions if this flag is set. however, third party plugins may call them, they must be implemented."
},
{
"ref":"ida_idd.DBG_FLAG_ANYSIZE_HWBPT",
"url":24,
"doc":"The debugger supports arbitrary size hardware breakpoints."
},
{
"ref":"ida_idd.DBG_FLAG_TRACER_MODULE",
"url":24,
"doc":"The module is a tracer, not a full featured debugger module."
},
{
"ref":"ida_idd.DBG_FLAG_PREFER_SWBPTS",
"url":24,
"doc":"Prefer to use software breakpoints."
},
{
"ref":"ida_idd.DBG_FLAG_LAZY_WATCHPTS",
"url":24,
"doc":"Watchpoints are triggered before the offending instruction is executed. The debugger must temporarily disable the watchpoint and single-step before resuming."
},
{
"ref":"ida_idd.DBG_FLAG_FAST_STEP",
"url":24,
"doc":"Do not refresh memory layout info after single stepping."
},
{
"ref":"ida_idd.DBG_FLAG_ADD_ENVS",
"url":24,
"doc":"The debugger supports launching processes with environment variables."
},
{
"ref":"ida_idd.DBG_FLAG_MERGE_ENVS",
"url":24,
"doc":"The debugger supports merge or replace setting for environment variables (only makes sense if DBG_FLAG_ADD_ENVS is set)"
},
{
"ref":"ida_idd.DBG_FLAG_DISABLE_ASLR",
"url":24,
"doc":"The debugger support ASLR disabling (Address space layout randomization)"
},
{
"ref":"ida_idd.DBG_HAS_GET_PROCESSES",
"url":24,
"doc":"supports ev_get_processes"
},
{
"ref":"ida_idd.DBG_HAS_ATTACH_PROCESS",
"url":24,
"doc":"supports ev_attach_process"
},
{
"ref":"ida_idd.DBG_HAS_DETACH_PROCESS",
"url":24,
"doc":"supports ev_detach_process"
},
{
"ref":"ida_idd.DBG_HAS_REQUEST_PAUSE",
"url":24,
"doc":"supports ev_request_pause"
},
{
"ref":"ida_idd.DBG_HAS_SET_EXCEPTION_INFO",
"url":24,
"doc":"supports ev_set_exception_info"
},
{
"ref":"ida_idd.DBG_HAS_THREAD_SUSPEND",
"url":24,
"doc":"supports ev_thread_suspend"
},
{
"ref":"ida_idd.DBG_HAS_THREAD_CONTINUE",
"url":24,
"doc":"supports ev_thread_continue"
},
{
"ref":"ida_idd.DBG_HAS_SET_RESUME_MODE",
"url":24,
"doc":"supports ev_set_resume_mode. Cannot be set inside the debugger_t init_debugger()"
},
{
"ref":"ida_idd.DBG_HAS_THREAD_GET_SREG_BASE",
"url":24,
"doc":"supports ev_thread_get_sreg_base"
},
{
"ref":"ida_idd.DBG_HAS_CHECK_BPT",
"url":24,
"doc":"supports ev_check_bpt"
},
{
"ref":"ida_idd.DBG_HAS_OPEN_FILE",
"url":24,
"doc":"supports ev_open_file, ev_close_file, ev_read_file, ev_write_file"
},
{
"ref":"ida_idd.DBG_HAS_UPDATE_CALL_STACK",
"url":24,
"doc":"supports ev_update_call_stack"
},
{
"ref":"ida_idd.DBG_HAS_APPCALL",
"url":24,
"doc":"supports ev_appcall, ev_cleanup_appcall"
},
{
"ref":"ida_idd.DBG_HAS_REXEC",
"url":24,
"doc":"supports ev_rexec"
},
{
"ref":"ida_idd.DBG_HAS_MAP_ADDRESS",
"url":24,
"doc":"supports ev_map_address. Avoid using this bit, especially together with DBG_FLAG_DEBTHREAD because it may cause big slow downs"
},
{
"ref":"ida_idd.DBG_RESMOD_STEP_INTO",
"url":24,
"doc":"RESMOD_INTO is available"
},
{
"ref":"ida_idd.DBG_RESMOD_STEP_OVER",
"url":24,
"doc":"RESMOD_OVER is available"
},
{
"ref":"ida_idd.DBG_RESMOD_STEP_OUT",
"url":24,
"doc":"RESMOD_OUT is available"
},
{
"ref":"ida_idd.DBG_RESMOD_STEP_SRCINTO",
"url":24,
"doc":"RESMOD_SRCINTO is available"
},
{
"ref":"ida_idd.DBG_RESMOD_STEP_SRCOVER",
"url":24,
"doc":"RESMOD_SRCOVER is available"
},
{
"ref":"ida_idd.DBG_RESMOD_STEP_SRCOUT",
"url":24,
"doc":"RESMOD_SRCOUT is available"
},
{
"ref":"ida_idd.DBG_RESMOD_STEP_USER",
"url":24,
"doc":"RESMOD_USER is available"
},
{
"ref":"ida_idd.DBG_RESMOD_STEP_HANDLE",
"url":24,
"doc":"RESMOD_HANDLE is available"
},
{
"ref":"ida_idd.DBG_PROC_IS_DLL",
"url":24,
"doc":"database contains a dll (not exe)"
},
{
"ref":"ida_idd.DBG_PROC_IS_GUI",
"url":24,
"doc":"using gui version of ida"
},
{
"ref":"ida_idd.DBG_PROC_32BIT",
"url":24,
"doc":"application is 32-bit"
},
{
"ref":"ida_idd.DBG_PROC_64BIT",
"url":24,
"doc":"application is 64-bit"
},
{
"ref":"ida_idd.DBG_NO_TRACE",
"url":24,
"doc":"do not trace the application (mac/linux)"
},
{
"ref":"ida_idd.DBG_HIDE_WINDOW",
"url":24,
"doc":"application should be hidden on startup (windows)"
},
{
"ref":"ida_idd.DBG_SUSPENDED",
"url":24,
"doc":"application should be suspended on startup (mac)"
},
{
"ref":"ida_idd.DBG_NO_ASLR",
"url":24,
"doc":"disable ASLR (linux)"
},
{
"ref":"ida_idd.BPT_OK",
"url":24,
"doc":"breakpoint can be set"
},
{
"ref":"ida_idd.BPT_INTERNAL_ERR",
"url":24,
"doc":"interr occurred when verifying breakpoint"
},
{
"ref":"ida_idd.BPT_BAD_TYPE",
"url":24,
"doc":"bpt type is not supported"
},
{
"ref":"ida_idd.BPT_BAD_ALIGN",
"url":24,
"doc":"alignment is invalid"
},
{
"ref":"ida_idd.BPT_BAD_ADDR",
"url":24,
"doc":"ea is invalid"
},
{
"ref":"ida_idd.BPT_BAD_LEN",
"url":24,
"doc":"bpt len is invalid"
},
{
"ref":"ida_idd.BPT_TOO_MANY",
"url":24,
"doc":"reached max number of supported breakpoints"
},
{
"ref":"ida_idd.BPT_READ_ERROR",
"url":24,
"doc":"failed to read memory at bpt ea"
},
{
"ref":"ida_idd.BPT_WRITE_ERROR",
"url":24,
"doc":"failed to write memory at bpt ea"
},
{
"ref":"ida_idd.BPT_SKIP",
"url":24,
"doc":"update_bpts(): do not process bpt"
},
{
"ref":"ida_idd.BPT_PAGE_OK",
"url":24,
"doc":"update_bpts(): ok, added a page bpt"
},
{
"ref":"ida_idd.APPCALL_MANUAL",
"url":24,
"doc":"Only set up the appcall, do not run. debugger_t cleanup_appcall will not be generated by ida!"
},
{
"ref":"ida_idd.APPCALL_DEBEV",
"url":24,
"doc":"Return debug event information."
},
{
"ref":"ida_idd.APPCALL_TIMEOUT",
"url":24,
"doc":"Appcall with timeout. If timed out, errbuf will contain \"timeout\". See SET_APPCALL_TIMEOUT and GET_APPCALL_TIMEOUT"
},
{
"ref":"ida_idd.RQ_MASKING",
"url":24,
"doc":"masking step handler: unless errors, tmpbpt handlers won't be generated should be used only with request_internal_step()"
},
{
"ref":"ida_idd.RQ_SUSPEND",
"url":24,
"doc":"suspending step handler: suspends the app handle_debug_event: suspends the app"
},
{
"ref":"ida_idd.RQ_NOSUSP",
"url":24,
"doc":"running step handler: continues the app"
},
{
"ref":"ida_idd.RQ_IGNWERR",
"url":24,
"doc":"ignore breakpoint write failures"
},
{
"ref":"ida_idd.RQ_SILENT",
"url":24,
"doc":"all: no dialog boxes"
},
{
"ref":"ida_idd.RQ_VERBOSE",
"url":24,
"doc":"all: display dialog boxes"
},
{
"ref":"ida_idd.RQ_SWSCREEN",
"url":24,
"doc":"handle_debug_event: switch screens"
},
{
"ref":"ida_idd.RQ__NOTHRRF",
"url":24,
"doc":"handle_debug_event: do not refresh threads"
},
{
"ref":"ida_idd.RQ_PROCEXIT",
"url":24,
"doc":"snapshots: the process is exiting"
},
{
"ref":"ida_idd.RQ_IDAIDLE",
"url":24,
"doc":"handle_debug_event: ida is idle"
},
{
"ref":"ida_idd.RQ_SUSPRUN",
"url":24,
"doc":"handle_debug_event: suspend at PROCESS_STARTED"
},
{
"ref":"ida_idd.RQ_RESUME",
"url":24,
"doc":"handle_debug_event: resume application"
},
{
"ref":"ida_idd.RQ_RESMOD",
"url":24,
"doc":"resume_mode_t"
},
{
"ref":"ida_idd.cpu2ieee",
"url":24,
"doc":"cpu2ieee(ieee_out, cpu_fpval, size) -> int Convert a floating point number in CPU native format to IDA's internal format. @param ieee_out: (C : fpvalue_t  ) output buffer @param cpu_fpval: (C : const void  ) floating point number in CPU native format @param size: (C : int) size of cpu_fpval in bytes (size of the input buffer) @return: Floating point/IEEE Conversion codes",
"func":1
},
{
"ref":"ida_idd.ieee2cpu",
"url":24,
"doc":"ieee2cpu(cpu_fpval_out, ieee, size) -> int Convert a floating point number in IDA's internal format to CPU native format. @param cpu_fpval_out: (C : void  ) output buffer @param ieee: (C : const fpvalue_t &) floating point number of IDA's internal format @param size: (C : int) size of cpu_fpval in bytes (size of the output buffer) @return: Floating point/IEEE Conversion codes",
"func":1
},
{
"ref":"ida_idd.dyn_register_info_array",
"url":24,
"doc":"Proxy of C dynamic_wrapped_array_t class. __init__(self, _data, _count) -> dyn_register_info_array @param _data: register_info_t  @param _count: size_t"
},
{
"ref":"ida_idd.dyn_register_info_array.thisown",
"url":24,
"doc":"The membership flag"
},
{
"ref":"ida_idd.dyn_register_info_array.data",
"url":24,
"doc":"data"
},
{
"ref":"ida_idd.dyn_register_info_array.count",
"url":24,
"doc":"count"
},
{
"ref":"ida_idd.get_dbg",
"url":24,
"doc":"get_dbg() -> debugger_t",
"func":1
},
{
"ref":"ida_idd.dbg_get_registers",
"url":24,
"doc":"dbg_get_registers() -> PyObject  This function returns the register definition from the currently loaded debugger. Basically, it returns an array of structure similar to to idd.hpp / register_info_t @return: None if no debugger is loaded tuple(name, flags, class, dtype, bit_strings, default_bit_strings_mask) The bit_strings can be a tuple of strings or None (if the register does not have bit_strings)",
"func":1
},
{
"ref":"ida_idd.dbg_get_thread_sreg_base",
"url":24,
"doc":"dbg_get_thread_sreg_base(tid, sreg_value) -> PyObject  Returns the segment register base value @param tid: thread id @param sreg_value: segment register (selector) value @return: - The base as an 'ea' - Or None on failure",
"func":1
},
{
"ref":"ida_idd.dbg_read_memory",
"url":24,
"doc":"dbg_read_memory(ea, sz) -> PyObject  Reads from the debugee's memory at the specified ea @param ea: ea_t @param sz: size_t @return: - The read buffer (as bytes) - Or None on failure",
"func":1
},
{
"ref":"ida_idd.dbg_write_memory",
"url":24,
"doc":"dbg_write_memory(ea, buf) -> bool Writes a buffer to the debugee's memory @param ea: ea_t @param buf: bytevec_t const & @return: Boolean",
"func":1
},
{
"ref":"ida_idd.dbg_get_name",
"url":24,
"doc":"dbg_get_name() -> PyObject  This function returns the current debugger's name. @return: Debugger name or None if no debugger is active",
"func":1
},
{
"ref":"ida_idd.dbg_get_memory_info",
"url":24,
"doc":"dbg_get_memory_info() -> PyObject  This function returns the memory configuration of a debugged process. @return: None if no debugger is active tuple(start_ea, end_ea, name, sclass, sbase, bitness, perm)",
"func":1
},
{
"ref":"ida_idd.appcall",
"url":24,
"doc":"appcall(func_ea, tid, _type_or_none, _fields, arg_list) -> PyObject  @param func_ea: ea_t @param tid: thid_t @param _type_or_none: bytevec_t const & @param _fields: bytevec_t const & @param arg_list: PyObject  ",
"func":1
},
{
"ref":"ida_idd.get_event_module_name",
"url":24,
"doc":"get_event_module_name(ev) -> str @param ev: debug_event_t const  ",
"func":1
},
{
"ref":"ida_idd.get_event_module_base",
"url":24,
"doc":"get_event_module_base(ev) -> ea_t @param ev: debug_event_t const  ",
"func":1
},
{
"ref":"ida_idd.get_event_module_size",
"url":24,
"doc":"get_event_module_size(ev) -> asize_t @param ev: debug_event_t const  ",
"func":1
},
{
"ref":"ida_idd.get_event_exc_info",
"url":24,
"doc":"get_event_exc_info(ev) -> str @param ev: debug_event_t const  ",
"func":1
},
{
"ref":"ida_idd.get_event_info",
"url":24,
"doc":"get_event_info(ev) -> str @param ev: debug_event_t const  ",
"func":1
},
{
"ref":"ida_idd.get_event_bpt_hea",
"url":24,
"doc":"get_event_bpt_hea(ev) -> ea_t @param ev: debug_event_t const  ",
"func":1
},
{
"ref":"ida_idd.get_event_exc_code",
"url":24,
"doc":"get_event_exc_code(ev) -> uint @param ev: debug_event_t const  ",
"func":1
},
{
"ref":"ida_idd.get_event_exc_ea",
"url":24,
"doc":"get_event_exc_ea(ev) -> ea_t @param ev: debug_event_t const  ",
"func":1
},
{
"ref":"ida_idd.can_exc_continue",
"url":24,
"doc":"can_exc_continue(ev) -> bool @param ev: debug_event_t const  ",
"func":1
},
{
"ref":"ida_idd.NO_PROCESS",
"url":24,
"doc":"No process."
},
{
"ref":"ida_idd.Appcall_array__",
"url":24,
"doc":"This class is used with Appcall.array() method"
},
{
"ref":"ida_idd.Appcall_array__.pack",
"url":24,
"doc":"Packs a list or tuple into a byref buffer",
"func":1
},
{
"ref":"ida_idd.Appcall_array__.try_to_convert_to_list",
"url":24,
"doc":"Is this object a list? We check for the existance of attribute zero and attribute self.size-1",
"func":1
},
{
"ref":"ida_idd.Appcall_array__.unpack",
"url":24,
"doc":"Unpacks an array back into a list or an object",
"func":1
},
{
"ref":"ida_idd.Appcall_callable__",
"url":24,
"doc":"Helper class to issue appcalls using a natural syntax: appcall.FunctionNameInTheDatabase(arguments,   ) or appcall[\"Function@8\"](arguments,  .) or f8 = appcall[\"Function@8\"] f8(arg1, arg2,  .) or o = appcall.obj() i = byref(5) appcall.funcname(arg1, i, \"hello\", o) Initializes an appcall with a given function ea"
},
{
"ref":"ida_idd.Appcall_callable__.timeout",
"url":24,
"doc":"An Appcall instance can change its timeout value with this attribute"
},
{
"ref":"ida_idd.Appcall_callable__.options",
"url":24,
"doc":"Sets the Appcall options locally to this Appcall instance"
},
{
"ref":"ida_idd.Appcall_callable__.ea",
"url":24,
"doc":"Returns or sets the EA associated with this object"
},
{
"ref":"ida_idd.Appcall_callable__.tif",
"url":24,
"doc":"Returns the tinfo_t object"
},
{
"ref":"ida_idd.Appcall_callable__.size",
"url":24,
"doc":"Returns the size of the type"
},
{
"ref":"ida_idd.Appcall_callable__.type",
"url":24,
"doc":"Returns the typestring"
},
{
"ref":"ida_idd.Appcall_callable__.fields",
"url":24,
"doc":"Returns the field names"
},
{
"ref":"ida_idd.Appcall_callable__.retrieve",
"url":24,
"doc":"Unpacks a typed object from the database if an ea is given or from a string if a string was passed @param src: the address of the object or a string @return: Returns a tuple of boolean and object or error number (Bool, Error | Object).",
"func":1
},
{
"ref":"ida_idd.Appcall_callable__.store",
"url":24,
"doc":"Packs an object into a given ea if provided or into a string if no address was passed. @param obj: The object to pack @param dest_ea: If packing to idb this will be the store location @param base_ea: If packing to a buffer, this will be the base that will be used to relocate the pointers @return: - If packing to a string then a Tuple(Boolean, packed_string or error code) - If packing to the database then a return code is returned (0 is success)",
"func":1
},
{
"ref":"ida_idd.Appcall_consts__",
"url":24,
"doc":"Helper class used by Appcall.Consts attribute It is used to retrieve constants via attribute access"
},
{
"ref":"ida_idd.Appcall__",
"url":24,
"doc":""
},
{
"ref":"ida_idd.Appcall__.APPCALL_MANUAL",
"url":24,
"doc":"Only set up the appcall, do not run it. you should call CleanupAppcall() when finished"
},
{
"ref":"ida_idd.Appcall__.APPCALL_DEBEV",
"url":24,
"doc":"Return debug event information If this bit is set, exceptions during appcall will generate idc exceptions with full information about the exception"
},
{
"ref":"ida_idd.Appcall__.APPCALL_TIMEOUT",
"url":24,
"doc":"Appcall with timeout The timeout value in milliseconds is specified in the high 2 bytes of the 'options' argument: If timed out, errbuf will contain \"timeout\"."
},
{
"ref":"ida_idd.Appcall__.Consts",
"url":24,
"doc":"Use Appcall.Consts.CONST_NAME to access constants"
},
{
"ref":"ida_idd.Appcall__.proto",
"url":24,
"doc":"Allows you to instantiate an appcall (callable object) with the desired prototype @param name_or_ea: The name of the function (will be resolved with LocByName( @param proto_or_tinfo: function prototype as a string or type of the function as tinfo_t object @return: - On failure it raises an exception if the prototype could not be parsed or the address is not resolvable - Returns a callbable Appcall instance with the given prototypes and flags",
"func":1
},
{
"ref":"ida_idd.Appcall__.valueof",
"url":24,
"doc":"Returns the numeric value of a given name string. If the name could not be resolved then the default value will be returned",
"func":1
},
{
"ref":"ida_idd.Appcall__.int64",
"url":24,
"doc":"Whenever a 64bit number is needed use this method to construct an object",
"func":1
},
{
"ref":"ida_idd.Appcall__.byref",
"url":24,
"doc":"Method to create references to immutable objects Currently we support references to int/strings Objects need not be passed by reference (this will be done automatically)",
"func":1
},
{
"ref":"ida_idd.Appcall__.buffer",
"url":24,
"doc":"Creates a string buffer. The returned value (r) will be a byref object. Use r.value to get the contents and r.size to get the buffer's size",
"func":1
},
{
"ref":"ida_idd.Appcall__.obj",
"url":24,
"doc":"Returns an empty object or objects with attributes as passed via its keywords arguments",
"func":1
},
{
"ref":"ida_idd.Appcall__.cstr",
"url":24,
"doc":"",
"func":1
},
{
"ref":"ida_idd.Appcall__.UTF16",
"url":24,
"doc":"",
"func":1
},
{
"ref":"ida_idd.Appcall__.unicode",
"url":24,
"doc":"",
"func":1
},
{
"ref":"ida_idd.Appcall__.array",
"url":24,
"doc":"Defines an array type. Later you need to pack() / unpack()",
"func":1
},
{
"ref":"ida_idd.Appcall__.typedobj",
"url":24,
"doc":"Returns an appcall object for a type (can be given as tinfo_t object or as a string declaration) One can then use retrieve() member method @param ea: Optional parameter that later can be used to retrieve the type @return: Appcall object or raises ValueError exception",
"func":1
},
{
"ref":"ida_idd.Appcall__.set_appcall_options",
"url":24,
"doc":"Method to change the Appcall options globally (not per Appcall)",
"func":1
},
{
"ref":"ida_idd.Appcall__.get_appcall_options",
"url":24,
"doc":"Return the global Appcall options",
"func":1
},
{
"ref":"ida_idd.Appcall__.cleanup_appcall",
"url":24,
"doc":"Equivalent to IDC's CleanupAppcall()",
"func":1
},
{
"ref":"ida_idp",
"url":25,
"doc":"Contains definition of the interface to IDP modules. The interface consists of two structures:  definition of target assembler:  ash  definition of current processor:  ph These structures contain information about target processor and assembler features. It also defines two groups of kernel events:  processor_t event_t processor related events  idb_event:event_code_t database related events The processor related events are used to communicate with the processor module. The database related events are used to inform any interested parties, like plugins or processor modules, about the changes in the database."
},
{
"ref":"ida_idp.reg_access_vec_t",
"url":25,
"doc":"Proxy of C qvector class. __init__(self) -> reg_access_vec_t __init__(self, x) -> reg_access_vec_t @param x: qvector const &"
},
{
"ref":"ida_idp.reg_access_vec_t.thisown",
"url":25,
"doc":"The membership flag"
},
{
"ref":"ida_idp.reg_access_vec_t.push_back",
"url":25,
"doc":"push_back(self, x) @param x: reg_access_t const & push_back(self) -> reg_access_t",
"func":1
},
{
"ref":"ida_idp.reg_access_vec_t.pop_back",
"url":25,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_idp.reg_access_vec_t.size",
"url":25,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_idp.reg_access_vec_t.empty",
"url":25,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_idp.reg_access_vec_t.at",
"url":25,
"doc":"at(self, _idx) -> reg_access_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_idp.reg_access_vec_t.qclear",
"url":25,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_idp.reg_access_vec_t.clear",
"url":25,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_idp.reg_access_vec_t.resize",
"url":25,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: reg_access_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_idp.reg_access_vec_t.grow",
"url":25,
"doc":"grow(self, x=reg_access_t( @param x: reg_access_t const &",
"func":1
},
{
"ref":"ida_idp.reg_access_vec_t.capacity",
"url":25,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_idp.reg_access_vec_t.reserve",
"url":25,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_idp.reg_access_vec_t.truncate",
"url":25,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_idp.reg_access_vec_t.swap",
"url":25,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_idp.reg_access_vec_t.extract",
"url":25,
"doc":"extract(self) -> reg_access_t",
"func":1
},
{
"ref":"ida_idp.reg_access_vec_t.inject",
"url":25,
"doc":"inject(self, s, len) @param s: reg_access_t  @param len: size_t",
"func":1
},
{
"ref":"ida_idp.reg_access_vec_t.begin",
"url":25,
"doc":"begin(self) -> reg_access_t",
"func":1
},
{
"ref":"ida_idp.reg_access_vec_t.end",
"url":25,
"doc":"end(self) -> reg_access_t",
"func":1
},
{
"ref":"ida_idp.reg_access_vec_t.insert",
"url":25,
"doc":"insert(self, it, x) -> reg_access_t @param it: qvector  iterator @param x: reg_access_t const &",
"func":1
},
{
"ref":"ida_idp.reg_access_vec_t.erase",
"url":25,
"doc":"erase(self, it) -> reg_access_t @param it: qvector  iterator erase(self, first, last) -> reg_access_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_idp.reg_access_vec_t.find",
"url":25,
"doc":"find(self, x) -> reg_access_t @param x: reg_access_t const &",
"func":1
},
{
"ref":"ida_idp.reg_access_vec_t.has",
"url":25,
"doc":"has(self, x) -> bool @param x: reg_access_t const &",
"func":1
},
{
"ref":"ida_idp.reg_access_vec_t.add_unique",
"url":25,
"doc":"add_unique(self, x) -> bool @param x: reg_access_t const &",
"func":1
},
{
"ref":"ida_idp.reg_access_vec_t.front",
"url":25,
"doc":"",
"func":1
},
{
"ref":"ida_idp.reg_access_vec_t.back",
"url":25,
"doc":"",
"func":1
},
{
"ref":"ida_idp.AssembleLine",
"url":25,
"doc":"AssembleLine(ea, cs, ip, use32, nonnul_line) -> bytes Assemble an instruction to a string (display a warning if an error is found) @param ea: linear address of instruction @param cs: cs of instruction @param ip: ip of instruction @param use32: is 32bit segment @param nonnul_line: char const  @return: - None on failure - or a string containing the assembled instruction",
"func":1
},
{
"ref":"ida_idp.IDP_INTERFACE_VERSION",
"url":25,
"doc":"The interface version number. @note: see also IDA_SDK_VERSION from pro.h"
},
{
"ref":"ida_idp.CF_STOP",
"url":25,
"doc":"Instruction doesn't pass execution to the next instruction"
},
{
"ref":"ida_idp.CF_CALL",
"url":25,
"doc":"CALL instruction (should make a procedure here)"
},
{
"ref":"ida_idp.CF_CHG1",
"url":25,
"doc":"The instruction modifies the first operand."
},
{
"ref":"ida_idp.CF_CHG2",
"url":25,
"doc":"The instruction modifies the second operand."
},
{
"ref":"ida_idp.CF_CHG3",
"url":25,
"doc":"The instruction modifies the third operand."
},
{
"ref":"ida_idp.CF_CHG4",
"url":25,
"doc":"The instruction modifies the fourth operand."
},
{
"ref":"ida_idp.CF_CHG5",
"url":25,
"doc":"The instruction modifies the fifth operand."
},
{
"ref":"ida_idp.CF_CHG6",
"url":25,
"doc":"The instruction modifies the sixth operand."
},
{
"ref":"ida_idp.CF_USE1",
"url":25,
"doc":"The instruction uses value of the first operand."
},
{
"ref":"ida_idp.CF_USE2",
"url":25,
"doc":"The instruction uses value of the second operand."
},
{
"ref":"ida_idp.CF_USE3",
"url":25,
"doc":"The instruction uses value of the third operand."
},
{
"ref":"ida_idp.CF_USE4",
"url":25,
"doc":"The instruction uses value of the fourth operand."
},
{
"ref":"ida_idp.CF_USE5",
"url":25,
"doc":"The instruction uses value of the fifth operand."
},
{
"ref":"ida_idp.CF_USE6",
"url":25,
"doc":"The instruction uses value of the sixth operand."
},
{
"ref":"ida_idp.CF_JUMP",
"url":25,
"doc":"The instruction passes execution using indirect jump or call (thus needs additional analysis)"
},
{
"ref":"ida_idp.CF_SHFT",
"url":25,
"doc":"Bit-shift instruction (shl,shr .)"
},
{
"ref":"ida_idp.CF_HLL",
"url":25,
"doc":"Instruction may be present in a high level language function"
},
{
"ref":"ida_idp.CF_CHG7",
"url":25,
"doc":"The instruction modifies the seventh operand."
},
{
"ref":"ida_idp.CF_CHG8",
"url":25,
"doc":"The instruction modifies the eighth operand."
},
{
"ref":"ida_idp.CF_USE7",
"url":25,
"doc":"The instruction uses value of the seventh operand."
},
{
"ref":"ida_idp.CF_USE8",
"url":25,
"doc":"The instruction uses value of the eighth operand."
},
{
"ref":"ida_idp.has_cf_chg",
"url":25,
"doc":"has_cf_chg(feature, opnum) -> bool Does an instruction with the specified feature modify the i-th operand? @param feature: (C : uint32) @param opnum: (C : uint)",
"func":1
},
{
"ref":"ida_idp.has_cf_use",
"url":25,
"doc":"has_cf_use(feature, opnum) -> bool Does an instruction with the specified feature use a value of the i-th operand? @param feature: (C : uint32) @param opnum: (C : uint)",
"func":1
},
{
"ref":"ida_idp.has_insn_feature",
"url":25,
"doc":"has_insn_feature(icode, bit) -> bool Does the specified instruction have the specified feature? @param icode: (C : uint16) @param bit: (C : uint32)",
"func":1
},
{
"ref":"ida_idp.is_call_insn",
"url":25,
"doc":"is_call_insn(insn) -> bool Is the instruction a \"call\"? @param insn: (C : const insn_t &) an ida_ua.insn_t, or an address (C : const insn_t &)",
"func":1
},
{
"ref":"ida_idp.IRI_EXTENDED",
"url":25,
"doc":"Is the instruction a \"return\"? include instructions like \"leave\" that begin the function epilog"
},
{
"ref":"ida_idp.IRI_RET_LITERALLY",
"url":25,
"doc":"report only 'ret' instructions"
},
{
"ref":"ida_idp.IRI_SKIP_RETTARGET",
"url":25,
"doc":"exclude 'ret' instructions that have special targets (see set_ret_target in PC)"
},
{
"ref":"ida_idp.is_ret_insn",
"url":25,
"doc":"is_ret_insn(insn, flags=(0x01|0x02 -> bool @param insn: an ida_ua.insn_t, or an address (C : const insn_t &) @param flags: uchar",
"func":1
},
{
"ref":"ida_idp.is_indirect_jump_insn",
"url":25,
"doc":"is_indirect_jump_insn(insn) -> bool Is the instruction an indirect jump? @param insn: (C : const insn_t &) an ida_ua.insn_t, or an address (C : const insn_t &)",
"func":1
},
{
"ref":"ida_idp.is_basic_block_end",
"url":25,
"doc":"is_basic_block_end(insn, call_insn_stops_block) -> bool Is the instruction the end of a basic block? @param insn: (C : const insn_t &) an ida_ua.insn_t, or an address (C : const insn_t &) @param call_insn_stops_block: (C : bool)",
"func":1
},
{
"ref":"ida_idp.asm_t",
"url":25,
"doc":"Proxy of C asm_t class. __init__(self) -> asm_t"
},
{
"ref":"ida_idp.asm_t.thisown",
"url":25,
"doc":"The membership flag"
},
{
"ref":"ida_idp.asm_t.flag",
"url":25,
"doc":"Assembler feature bits"
},
{
"ref":"ida_idp.asm_t.uflag",
"url":25,
"doc":"user defined flags (local only for IDP) you may define and use your own bits"
},
{
"ref":"ida_idp.asm_t.name",
"url":25,
"doc":"Assembler name (displayed in menus)"
},
{
"ref":"ida_idp.asm_t.help",
"url":25,
"doc":"Help screen number, 0 - no help."
},
{
"ref":"ida_idp.asm_t.header",
"url":25,
"doc":"array of automatically generated header lines they appear at the start of disassembled text"
},
{
"ref":"ida_idp.asm_t.origin",
"url":25,
"doc":"org directive"
},
{
"ref":"ida_idp.asm_t.end",
"url":25,
"doc":"end directive"
},
{
"ref":"ida_idp.asm_t.cmnt",
"url":25,
"doc":"comment string (see also cmnt2)"
},
{
"ref":"ida_idp.asm_t.ascsep",
"url":25,
"doc":"string literal delimiter"
},
{
"ref":"ida_idp.asm_t.accsep",
"url":25,
"doc":"char constant delimiter"
},
{
"ref":"ida_idp.asm_t.esccodes",
"url":25,
"doc":"special chars that cannot appear as is in string and char literals"
},
{
"ref":"ida_idp.asm_t.a_ascii",
"url":25,
"doc":"string literal directive"
},
{
"ref":"ida_idp.asm_t.a_byte",
"url":25,
"doc":"byte directive"
},
{
"ref":"ida_idp.asm_t.a_word",
"url":25,
"doc":"word directive"
},
{
"ref":"ida_idp.asm_t.a_dword",
"url":25,
"doc":"nullptr if not allowed"
},
{
"ref":"ida_idp.asm_t.a_qword",
"url":25,
"doc":"nullptr if not allowed"
},
{
"ref":"ida_idp.asm_t.a_oword",
"url":25,
"doc":"nullptr if not allowed"
},
{
"ref":"ida_idp.asm_t.a_float",
"url":25,
"doc":"float; 4bytes; nullptr if not allowed"
},
{
"ref":"ida_idp.asm_t.a_double",
"url":25,
"doc":"double; 8bytes; nullptr if not allowed"
},
{
"ref":"ida_idp.asm_t.a_tbyte",
"url":25,
"doc":"long double; nullptr if not allowed"
},
{
"ref":"ida_idp.asm_t.a_packreal",
"url":25,
"doc":"packed decimal real nullptr if not allowed"
},
{
"ref":"ida_idp.asm_t.a_dups",
"url":25,
"doc":"array keyword. the following sequences may appear:   h header   d size   v value   s(b,w,l,q,f,d,o) size specifiers for byte,word, dword,qword, float,double,oword"
},
{
"ref":"ida_idp.asm_t.a_bss",
"url":25,
"doc":"uninitialized data directive should include 's' for the size of data"
},
{
"ref":"ida_idp.asm_t.a_equ",
"url":25,
"doc":"'equ' Used if AS_UNEQU is set"
},
{
"ref":"ida_idp.asm_t.a_seg",
"url":25,
"doc":"'seg ' prefix (example: push seg seg001)"
},
{
"ref":"ida_idp.asm_t.a_curip",
"url":25,
"doc":"current IP (instruction pointer) symbol in assembler"
},
{
"ref":"ida_idp.asm_t.a_public",
"url":25,
"doc":"\"public\" name keyword. nullptr-use default,  -do not generate"
},
{
"ref":"ida_idp.asm_t.a_weak",
"url":25,
"doc":"\"weak\" name keyword. nullptr-use default,  -do not generate"
},
{
"ref":"ida_idp.asm_t.a_extrn",
"url":25,
"doc":"\"extern\" name keyword"
},
{
"ref":"ida_idp.asm_t.a_comdef",
"url":25,
"doc":"\"comm\" (communal variable)"
},
{
"ref":"ida_idp.asm_t.a_align",
"url":25,
"doc":"\"align\" keyword"
},
{
"ref":"ida_idp.asm_t.lbrace",
"url":25,
"doc":"left brace used in complex expressions"
},
{
"ref":"ida_idp.asm_t.rbrace",
"url":25,
"doc":"right brace used in complex expressions"
},
{
"ref":"ida_idp.asm_t.a_mod",
"url":25,
"doc":"% mod assembler time operation"
},
{
"ref":"ida_idp.asm_t.a_band",
"url":25,
"doc":"& bit and assembler time operation"
},
{
"ref":"ida_idp.asm_t.a_bor",
"url":25,
"doc":"| bit or assembler time operation"
},
{
"ref":"ida_idp.asm_t.a_xor",
"url":25,
"doc":"^ bit xor assembler time operation"
},
{
"ref":"ida_idp.asm_t.a_bnot",
"url":25,
"doc":"~ bit not assembler time operation"
},
{
"ref":"ida_idp.asm_t.a_shl",
"url":25,
"doc":" shift left assembler time operation"
},
{
"ref":"ida_idp.asm_t.a_shr",
"url":25,
"doc":">> shift right assembler time operation"
},
{
"ref":"ida_idp.asm_t.a_sizeof_fmt",
"url":25,
"doc":"size of type (format string)"
},
{
"ref":"ida_idp.asm_t.flag2",
"url":25,
"doc":"Secondary assembler feature bits"
},
{
"ref":"ida_idp.asm_t.cmnt2",
"url":25,
"doc":"comment close string (usually nullptr) this is used to denote a string which closes comments, for example, if the comments are represented with (  .  ) then cmnt = \"( \" and cmnt2 = \" )\""
},
{
"ref":"ida_idp.asm_t.low8",
"url":25,
"doc":"low8 operation, should contain s for the operand"
},
{
"ref":"ida_idp.asm_t.high8",
"url":25,
"doc":"high8"
},
{
"ref":"ida_idp.asm_t.low16",
"url":25,
"doc":"low16"
},
{
"ref":"ida_idp.asm_t.high16",
"url":25,
"doc":"high16"
},
{
"ref":"ida_idp.asm_t.a_include_fmt",
"url":25,
"doc":"the include directive (format string)"
},
{
"ref":"ida_idp.asm_t.a_vstruc_fmt",
"url":25,
"doc":"if a named item is a structure and displayed in the verbose (multiline) form then display the name as printf(a_strucname_fmt, typename) (for asms with type checking, e.g. tasm ideal)"
},
{
"ref":"ida_idp.asm_t.a_rva",
"url":25,
"doc":"'rva' keyword for image based offsets (see REFINFO_RVAOFF)"
},
{
"ref":"ida_idp.asm_t.a_yword",
"url":25,
"doc":"32-byte (256-bit) data; nullptr if not allowed requires AS2_YWORD"
},
{
"ref":"ida_idp.asm_t.a_zword",
"url":25,
"doc":"64-byte (512-bit) data; nullptr if not allowed requires AS2_ZWORD"
},
{
"ref":"ida_idp.AS_OFFST",
"url":25,
"doc":"offsets are 'offset xxx' ?"
},
{
"ref":"ida_idp.AS_COLON",
"url":25,
"doc":"create colons after data names ?"
},
{
"ref":"ida_idp.AS_UDATA",
"url":25,
"doc":"can use '?' in data directives"
},
{
"ref":"ida_idp.AS_2CHRE",
"url":25,
"doc":"double char constants are: \"xy"
},
{
"ref":"ida_idp.AS_NCHRE",
"url":25,
"doc":"char constants are: 'x"
},
{
"ref":"ida_idp.AS_N2CHR",
"url":25,
"doc":"can't have 2 byte char consts"
},
{
"ref":"ida_idp.AS_1TEXT",
"url":25,
"doc":"1 text per line, no bytes"
},
{
"ref":"ida_idp.AS_NHIAS",
"url":25,
"doc":"no characters with high bit"
},
{
"ref":"ida_idp.AS_NCMAS",
"url":25,
"doc":"no commas in ascii directives"
},
{
"ref":"ida_idp.AS_HEXFM",
"url":25,
"doc":"mask - hex number format"
},
{
"ref":"ida_idp.ASH_HEXF0",
"url":25,
"doc":"34h"
},
{
"ref":"ida_idp.ASH_HEXF1",
"url":25,
"doc":"h'34"
},
{
"ref":"ida_idp.ASH_HEXF2",
"url":25,
"doc":"34"
},
{
"ref":"ida_idp.ASH_HEXF3",
"url":25,
"doc":"0x34"
},
{
"ref":"ida_idp.ASH_HEXF4",
"url":25,
"doc":"$34"
},
{
"ref":"ida_idp.ASH_HEXF5",
"url":25,
"doc":" (radix)"
},
{
"ref":"ida_idp.AS_DECFM",
"url":25,
"doc":"mask - decimal number format"
},
{
"ref":"ida_idp.ASD_DECF0",
"url":25,
"doc":"34"
},
{
"ref":"ida_idp.ASD_DECF1",
"url":25,
"doc":" 34"
},
{
"ref":"ida_idp.ASD_DECF2",
"url":25,
"doc":"34."
},
{
"ref":"ida_idp.ASD_DECF3",
"url":25,
"doc":".34"
},
{
"ref":"ida_idp.AS_OCTFM",
"url":25,
"doc":"mask - octal number format"
},
{
"ref":"ida_idp.ASO_OCTF0",
"url":25,
"doc":"123o"
},
{
"ref":"ida_idp.ASO_OCTF1",
"url":25,
"doc":"0123"
},
{
"ref":"ida_idp.ASO_OCTF2",
"url":25,
"doc":"123"
},
{
"ref":"ida_idp.ASO_OCTF3",
"url":25,
"doc":"@123"
},
{
"ref":"ida_idp.ASO_OCTF4",
"url":25,
"doc":"o'123"
},
{
"ref":"ida_idp.ASO_OCTF5",
"url":25,
"doc":"123q"
},
{
"ref":"ida_idp.ASO_OCTF6",
"url":25,
"doc":"~123"
},
{
"ref":"ida_idp.ASO_OCTF7",
"url":25,
"doc":"q'123"
},
{
"ref":"ida_idp.AS_BINFM",
"url":25,
"doc":"mask - binary number format"
},
{
"ref":"ida_idp.ASB_BINF0",
"url":25,
"doc":"010101b"
},
{
"ref":"ida_idp.ASB_BINF1",
"url":25,
"doc":"^B010101"
},
{
"ref":"ida_idp.ASB_BINF2",
"url":25,
"doc":"%010101"
},
{
"ref":"ida_idp.ASB_BINF3",
"url":25,
"doc":"0b1010101"
},
{
"ref":"ida_idp.ASB_BINF4",
"url":25,
"doc":"b'1010101"
},
{
"ref":"ida_idp.ASB_BINF5",
"url":25,
"doc":"b'1010101'"
},
{
"ref":"ida_idp.AS_UNEQU",
"url":25,
"doc":"replace undefined data items with EQU (for ANTA's A80)"
},
{
"ref":"ida_idp.AS_ONEDUP",
"url":25,
"doc":"One array definition per line."
},
{
"ref":"ida_idp.AS_NOXRF",
"url":25,
"doc":"Disable xrefs during the output file generation."
},
{
"ref":"ida_idp.AS_XTRNTYPE",
"url":25,
"doc":"Assembler understands type of extern symbols as \":type\" suffix."
},
{
"ref":"ida_idp.AS_RELSUP",
"url":25,
"doc":"Checkarg: 'and','or','xor' operations with addresses are possible."
},
{
"ref":"ida_idp.AS_LALIGN",
"url":25,
"doc":"Labels at \"align\" keyword are supported."
},
{
"ref":"ida_idp.AS_NOCODECLN",
"url":25,
"doc":"don't create colons after code names"
},
{
"ref":"ida_idp.AS_NOSPACE",
"url":25,
"doc":"No spaces in expressions."
},
{
"ref":"ida_idp.AS_ALIGN2",
"url":25,
"doc":".align directive expects an exponent rather than a power of 2 (.align 5 means to align at 32byte boundary)"
},
{
"ref":"ida_idp.AS_ASCIIC",
"url":25,
"doc":"ascii directive accepts C-like escape sequences (\\n,\\x01 and similar)"
},
{
"ref":"ida_idp.AS_ASCIIZ",
"url":25,
"doc":"ascii directive inserts implicit zero byte at the end"
},
{
"ref":"ida_idp.AS2_BRACE",
"url":25,
"doc":"Use braces for all expressions."
},
{
"ref":"ida_idp.AS2_STRINV",
"url":25,
"doc":"Invert meaning of idainfo wide_high_byte_first for text strings (for processors with bytes bigger than 8 bits)"
},
{
"ref":"ida_idp.AS2_BYTE1CHAR",
"url":25,
"doc":"One symbol per processor byte. Meaningful only for wide byte processors"
},
{
"ref":"ida_idp.AS2_IDEALDSCR",
"url":25,
"doc":"Description of struc/union is in the 'reverse' form (keyword before name), the same as in borland tasm ideal"
},
{
"ref":"ida_idp.AS2_TERSESTR",
"url":25,
"doc":"'terse' structure initialization form; NAME is supported"
},
{
"ref":"ida_idp.AS2_COLONSUF",
"url":25,
"doc":"addresses may have \":xx\" suffix; this suffix must be ignored when extracting the address under the cursor"
},
{
"ref":"ida_idp.AS2_YWORD",
"url":25,
"doc":"a_yword field is present and valid"
},
{
"ref":"ida_idp.AS2_ZWORD",
"url":25,
"doc":"a_zword field is present and valid"
},
{
"ref":"ida_idp.HKCB_GLOBAL",
"url":25,
"doc":"is global event listener? if true, the listener will survive database closing and opening. it will stay in the memory until explicitly unhooked. otherwise the kernel will delete it as soon as the owner is unloaded. should be used only with PLUGIN_FIX plugins."
},
{
"ref":"ida_idp.PLFM_386",
"url":25,
"doc":"Intel 80x86."
},
{
"ref":"ida_idp.PLFM_Z80",
"url":25,
"doc":"8085, Z80"
},
{
"ref":"ida_idp.PLFM_I860",
"url":25,
"doc":"Intel 860."
},
{
"ref":"ida_idp.PLFM_8051",
"url":25,
"doc":"8051"
},
{
"ref":"ida_idp.PLFM_TMS",
"url":25,
"doc":"Texas Instruments TMS320C5x."
},
{
"ref":"ida_idp.PLFM_6502",
"url":25,
"doc":"6502"
},
{
"ref":"ida_idp.PLFM_PDP",
"url":25,
"doc":"PDP11."
},
{
"ref":"ida_idp.PLFM_68K",
"url":25,
"doc":"Motorola 680x0."
},
{
"ref":"ida_idp.PLFM_JAVA",
"url":25,
"doc":"Java."
},
{
"ref":"ida_idp.PLFM_6800",
"url":25,
"doc":"Motorola 68xx."
},
{
"ref":"ida_idp.PLFM_ST7",
"url":25,
"doc":"SGS-Thomson ST7."
},
{
"ref":"ida_idp.PLFM_MC6812",
"url":25,
"doc":"Motorola 68HC12."
},
{
"ref":"ida_idp.PLFM_MIPS",
"url":25,
"doc":"MIPS."
},
{
"ref":"ida_idp.PLFM_ARM",
"url":25,
"doc":"Advanced RISC Machines."
},
{
"ref":"ida_idp.PLFM_TMSC6",
"url":25,
"doc":"Texas Instruments TMS320C6x."
},
{
"ref":"ida_idp.PLFM_PPC",
"url":25,
"doc":"PowerPC."
},
{
"ref":"ida_idp.PLFM_80196",
"url":25,
"doc":"Intel 80196."
},
{
"ref":"ida_idp.PLFM_Z8",
"url":25,
"doc":"Z8."
},
{
"ref":"ida_idp.PLFM_SH",
"url":25,
"doc":"Renesas (formerly Hitachi) SuperH."
},
{
"ref":"ida_idp.PLFM_NET",
"url":25,
"doc":"Microsoft Visual Studio.Net."
},
{
"ref":"ida_idp.PLFM_AVR",
"url":25,
"doc":"Atmel 8-bit RISC processor(s)"
},
{
"ref":"ida_idp.PLFM_H8",
"url":25,
"doc":"Hitachi H8/300, H8/2000."
},
{
"ref":"ida_idp.PLFM_PIC",
"url":25,
"doc":"Microchip's PIC."
},
{
"ref":"ida_idp.PLFM_SPARC",
"url":25,
"doc":"SPARC."
},
{
"ref":"ida_idp.PLFM_ALPHA",
"url":25,
"doc":"DEC Alpha."
},
{
"ref":"ida_idp.PLFM_HPPA",
"url":25,
"doc":"Hewlett-Packard PA-RISC."
},
{
"ref":"ida_idp.PLFM_H8500",
"url":25,
"doc":"Hitachi H8/500."
},
{
"ref":"ida_idp.PLFM_TRICORE",
"url":25,
"doc":"Tasking Tricore."
},
{
"ref":"ida_idp.PLFM_DSP56K",
"url":25,
"doc":"Motorola DSP5600x."
},
{
"ref":"ida_idp.PLFM_C166",
"url":25,
"doc":"Siemens C166 family."
},
{
"ref":"ida_idp.PLFM_ST20",
"url":25,
"doc":"SGS-Thomson ST20."
},
{
"ref":"ida_idp.PLFM_IA64",
"url":25,
"doc":"Intel Itanium IA64."
},
{
"ref":"ida_idp.PLFM_I960",
"url":25,
"doc":"Intel 960."
},
{
"ref":"ida_idp.PLFM_F2MC",
"url":25,
"doc":"Fujistu F2MC-16."
},
{
"ref":"ida_idp.PLFM_TMS320C54",
"url":25,
"doc":"Texas Instruments TMS320C54xx."
},
{
"ref":"ida_idp.PLFM_TMS320C55",
"url":25,
"doc":"Texas Instruments TMS320C55xx."
},
{
"ref":"ida_idp.PLFM_TRIMEDIA",
"url":25,
"doc":"Trimedia."
},
{
"ref":"ida_idp.PLFM_M32R",
"url":25,
"doc":"Mitsubishi 32bit RISC."
},
{
"ref":"ida_idp.PLFM_NEC_78K0",
"url":25,
"doc":"NEC 78K0."
},
{
"ref":"ida_idp.PLFM_NEC_78K0S",
"url":25,
"doc":"NEC 78K0S."
},
{
"ref":"ida_idp.PLFM_M740",
"url":25,
"doc":"Mitsubishi 8bit."
},
{
"ref":"ida_idp.PLFM_M7700",
"url":25,
"doc":"Mitsubishi 16bit."
},
{
"ref":"ida_idp.PLFM_ST9",
"url":25,
"doc":"ST9+."
},
{
"ref":"ida_idp.PLFM_FR",
"url":25,
"doc":"Fujitsu FR Family."
},
{
"ref":"ida_idp.PLFM_MC6816",
"url":25,
"doc":"Motorola 68HC16."
},
{
"ref":"ida_idp.PLFM_M7900",
"url":25,
"doc":"Mitsubishi 7900."
},
{
"ref":"ida_idp.PLFM_TMS320C3",
"url":25,
"doc":"Texas Instruments TMS320C3."
},
{
"ref":"ida_idp.PLFM_KR1878",
"url":25,
"doc":"Angstrem KR1878."
},
{
"ref":"ida_idp.PLFM_AD218X",
"url":25,
"doc":"Analog Devices ADSP 218X."
},
{
"ref":"ida_idp.PLFM_OAKDSP",
"url":25,
"doc":"Atmel OAK DSP."
},
{
"ref":"ida_idp.PLFM_TLCS900",
"url":25,
"doc":"Toshiba TLCS-900."
},
{
"ref":"ida_idp.PLFM_C39",
"url":25,
"doc":"Rockwell C39."
},
{
"ref":"ida_idp.PLFM_CR16",
"url":25,
"doc":"NSC CR16."
},
{
"ref":"ida_idp.PLFM_MN102L00",
"url":25,
"doc":"Panasonic MN10200."
},
{
"ref":"ida_idp.PLFM_TMS320C1X",
"url":25,
"doc":"Texas Instruments TMS320C1x."
},
{
"ref":"ida_idp.PLFM_NEC_V850X",
"url":25,
"doc":"NEC V850 and V850ES/E1/E2."
},
{
"ref":"ida_idp.PLFM_SCR_ADPT",
"url":25,
"doc":"Processor module adapter for processor modules written in scripting languages."
},
{
"ref":"ida_idp.PLFM_EBC",
"url":25,
"doc":"EFI Bytecode."
},
{
"ref":"ida_idp.PLFM_MSP430",
"url":25,
"doc":"Texas Instruments MSP430."
},
{
"ref":"ida_idp.PLFM_SPU",
"url":25,
"doc":"Cell Broadband Engine Synergistic Processor Unit."
},
{
"ref":"ida_idp.PLFM_DALVIK",
"url":25,
"doc":"Android Dalvik Virtual Machine."
},
{
"ref":"ida_idp.PLFM_65C816",
"url":25,
"doc":"65802/65816"
},
{
"ref":"ida_idp.PLFM_M16C",
"url":25,
"doc":"Renesas M16C."
},
{
"ref":"ida_idp.PLFM_ARC",
"url":25,
"doc":"Argonaut RISC Core."
},
{
"ref":"ida_idp.PLFM_UNSP",
"url":25,
"doc":"SunPlus unSP."
},
{
"ref":"ida_idp.PLFM_TMS320C28",
"url":25,
"doc":"Texas Instruments TMS320C28x."
},
{
"ref":"ida_idp.PLFM_DSP96K",
"url":25,
"doc":"Motorola DSP96000."
},
{
"ref":"ida_idp.PLFM_SPC700",
"url":25,
"doc":"Sony SPC700."
},
{
"ref":"ida_idp.PLFM_AD2106X",
"url":25,
"doc":"Analog Devices ADSP 2106X."
},
{
"ref":"ida_idp.PLFM_PIC16",
"url":25,
"doc":"Microchip's 16-bit PIC."
},
{
"ref":"ida_idp.PLFM_S390",
"url":25,
"doc":"IBM's S390."
},
{
"ref":"ida_idp.PLFM_XTENSA",
"url":25,
"doc":"Tensilica Xtensa."
},
{
"ref":"ida_idp.PLFM_RISCV",
"url":25,
"doc":"RISC-V."
},
{
"ref":"ida_idp.PLFM_RL78",
"url":25,
"doc":"Renesas RL78."
},
{
"ref":"ida_idp.PLFM_RX",
"url":25,
"doc":"Renesas RX."
},
{
"ref":"ida_idp.PLFM_WASM",
"url":25,
"doc":"WASM."
},
{
"ref":"ida_idp.PR_SEGS",
"url":25,
"doc":"has segment registers?"
},
{
"ref":"ida_idp.PR_USE32",
"url":25,
"doc":"supports 32-bit addressing?"
},
{
"ref":"ida_idp.PR_DEFSEG32",
"url":25,
"doc":"segments are 32-bit by default"
},
{
"ref":"ida_idp.PR_RNAMESOK",
"url":25,
"doc":"allow user register names for location names"
},
{
"ref":"ida_idp.PR_ADJSEGS",
"url":25,
"doc":"IDA may adjust segments' starting/ending addresses."
},
{
"ref":"ida_idp.PR_DEFNUM",
"url":25,
"doc":"mask - default number representation"
},
{
"ref":"ida_idp.PRN_HEX",
"url":25,
"doc":"hex"
},
{
"ref":"ida_idp.PRN_OCT",
"url":25,
"doc":"octal"
},
{
"ref":"ida_idp.PRN_DEC",
"url":25,
"doc":"decimal"
},
{
"ref":"ida_idp.PRN_BIN",
"url":25,
"doc":"binary"
},
{
"ref":"ida_idp.PR_WORD_INS",
"url":25,
"doc":"instruction codes are grouped 2bytes in binary line prefix"
},
{
"ref":"ida_idp.PR_NOCHANGE",
"url":25,
"doc":"The user can't change segments and code/data attributes (display only)"
},
{
"ref":"ida_idp.PR_ASSEMBLE",
"url":25,
"doc":"Module has a built-in assembler and will react to ev_assemble."
},
{
"ref":"ida_idp.PR_ALIGN",
"url":25,
"doc":"All data items should be aligned properly."
},
{
"ref":"ida_idp.PR_TYPEINFO",
"url":25,
"doc":"the processor module fully supports type information callbacks; without full support, function argument locations and other things will probably be wrong."
},
{
"ref":"ida_idp.PR_USE64",
"url":25,
"doc":"supports 64-bit addressing?"
},
{
"ref":"ida_idp.PR_SGROTHER",
"url":25,
"doc":"the segment registers don't contain the segment selectors."
},
{
"ref":"ida_idp.PR_STACK_UP",
"url":25,
"doc":"the stack grows up"
},
{
"ref":"ida_idp.PR_BINMEM",
"url":25,
"doc":"the processor module provides correct segmentation for binary files (i.e. it creates additional segments). The kernel will not ask the user to specify the RAM/ROM sizes"
},
{
"ref":"ida_idp.PR_SEGTRANS",
"url":25,
"doc":"the processor module supports the segment translation feature (meaning it calculates the code addresses using the map_code_ea() function)"
},
{
"ref":"ida_idp.PR_CHK_XREF",
"url":25,
"doc":"don't allow near xrefs between segments with different bases"
},
{
"ref":"ida_idp.PR_NO_SEGMOVE",
"url":25,
"doc":"the processor module doesn't support move_segm() (i.e. the user can't move segments)"
},
{
"ref":"ida_idp.PR_USE_ARG_TYPES",
"url":25,
"doc":"use processor_t use_arg_types callback"
},
{
"ref":"ida_idp.PR_SCALE_STKVARS",
"url":25,
"doc":"use processor_t get_stkvar_scale callback"
},
{
"ref":"ida_idp.PR_DELAYED",
"url":25,
"doc":"has delayed jumps and calls. If this flag is set, processor_t is_basic_block_end, processor_t delay_slot_insn should be implemented"
},
{
"ref":"ida_idp.PR_ALIGN_INSN",
"url":25,
"doc":"allow ida to create alignment instructions arbitrarily. Since these instructions might lead to other wrong instructions and spoil the listing, IDA does not create them by default anymore"
},
{
"ref":"ida_idp.PR_PURGING",
"url":25,
"doc":"there are calling conventions which may purge bytes from the stack"
},
{
"ref":"ida_idp.PR_CNDINSNS",
"url":25,
"doc":"has conditional instructions"
},
{
"ref":"ida_idp.PR_USE_TBYTE",
"url":25,
"doc":"BTMT_SPECFLT means _TBYTE type"
},
{
"ref":"ida_idp.PR_DEFSEG64",
"url":25,
"doc":"segments are 64-bit by default"
},
{
"ref":"ida_idp.PR_OUTER",
"url":25,
"doc":"has outer operands (currently only mc68k)"
},
{
"ref":"ida_idp.PR2_MAPPINGS",
"url":25,
"doc":"the processor module uses memory mapping"
},
{
"ref":"ida_idp.PR2_IDP_OPTS",
"url":25,
"doc":"the module has processor-specific configuration options"
},
{
"ref":"ida_idp.PR2_CODE16_BIT",
"url":25,
"doc":"low bit of code addresses has special meaning e.g. ARM Thumb, MIPS16"
},
{
"ref":"ida_idp.PR2_MACRO",
"url":25,
"doc":"processor supports macro instructions"
},
{
"ref":"ida_idp.PR2_USE_CALCREL",
"url":25,
"doc":"(Lumina) the module supports calcrel info"
},
{
"ref":"ida_idp.PR2_REL_BITS",
"url":25,
"doc":"(Lumina) calcrel info has bits granularity, not bytes - construction flag only"
},
{
"ref":"ida_idp.PR2_FORCE_16BIT",
"url":25,
"doc":"use 16-bit basic types despite of 32-bit segments (used by c166)"
},
{
"ref":"ida_idp.OP_FP_BASED",
"url":25,
"doc":"operand is FP based"
},
{
"ref":"ida_idp.OP_SP_BASED",
"url":25,
"doc":"operand is SP based"
},
{
"ref":"ida_idp.OP_SP_ADD",
"url":25,
"doc":"operand value is added to the pointer"
},
{
"ref":"ida_idp.OP_SP_SUB",
"url":25,
"doc":"operand value is subtracted from the pointer"
},
{
"ref":"ida_idp.CUSTOM_INSN_ITYPE",
"url":25,
"doc":"Custom instruction codes defined by processor extension plugins must be greater than or equal to this"
},
{
"ref":"ida_idp.REG_SPOIL",
"url":25,
"doc":"processor_t use_regarg_type uses this bit in the return value to indicate that the register value has been spoiled"
},
{
"ref":"ida_idp.get_ph",
"url":25,
"doc":"get_ph() -> _processor_t",
"func":1
},
{
"ref":"ida_idp.get_ash",
"url":25,
"doc":"get_ash() -> asm_t",
"func":1
},
{
"ref":"ida_idp.str2reg",
"url":25,
"doc":"str2reg(p) -> int Get any reg number (-1 on error) @param p: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_idp.is_align_insn",
"url":25,
"doc":"is_align_insn(ea) -> int If the instruction at 'ea' looks like an alignment instruction, return its length in bytes. Otherwise return 0. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_idp.get_reg_name",
"url":25,
"doc":"get_reg_name(reg, width, reghi=-1) -> ssize_t Get text representation of a register. For most processors this function will just return processor_t reg_names[reg]. If the processor module has implemented processor_t get_reg_name, it will be used instead @param reg: (C : int) internal register number as defined in the processor module @param width: (C : size_t) register width in bytes @param reghi: (C : int) if specified, then this function will return the register pair @return: length of register name in bytes or -1 if failure",
"func":1
},
{
"ref":"ida_idp.reg_info_t",
"url":25,
"doc":"Proxy of C reg_info_t class. __init__(self) -> reg_info_t"
},
{
"ref":"ida_idp.reg_info_t.thisown",
"url":25,
"doc":"The membership flag"
},
{
"ref":"ida_idp.reg_info_t.reg",
"url":25,
"doc":"register number"
},
{
"ref":"ida_idp.reg_info_t.size",
"url":25,
"doc":"register size"
},
{
"ref":"ida_idp.reg_info_t.compare",
"url":25,
"doc":"compare(self, r) -> int @param r: reg_info_t const &",
"func":1
},
{
"ref":"ida_idp.parse_reg_name",
"url":25,
"doc":"parse_reg_name(ri, regname) -> bool Get register info by name. @param ri: (C : reg_info_t  ) result @param regname: (C : const char  ) name of register @return: success",
"func":1
},
{
"ref":"ida_idp.reg_access_t",
"url":25,
"doc":"Proxy of C reg_access_t class. __init__(self) -> reg_access_t"
},
{
"ref":"ida_idp.reg_access_t.thisown",
"url":25,
"doc":"The membership flag"
},
{
"ref":"ida_idp.reg_access_t.regnum",
"url":25,
"doc":"register number (only entire registers)"
},
{
"ref":"ida_idp.reg_access_t.range",
"url":25,
"doc":"bitrange inside the register"
},
{
"ref":"ida_idp.reg_access_t.access_type",
"url":25,
"doc":"access_type"
},
{
"ref":"ida_idp.reg_access_t.opnum",
"url":25,
"doc":"operand number"
},
{
"ref":"ida_idp.reg_access_t.have_common_bits",
"url":25,
"doc":"have_common_bits(self, r) -> bool @param r: reg_access_t const &",
"func":1
},
{
"ref":"ida_idp.reg_accesses_t",
"url":25,
"doc":"Proxy of C reg_accesses_t class. __init__(self) -> reg_accesses_t"
},
{
"ref":"ida_idp.reg_accesses_t.thisown",
"url":25,
"doc":"The membership flag"
},
{
"ref":"ida_idp.reg_accesses_t.push_back",
"url":25,
"doc":"push_back(self, x) @param x: reg_access_t const & push_back(self) -> reg_access_t",
"func":1
},
{
"ref":"ida_idp.reg_accesses_t.pop_back",
"url":25,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_idp.reg_accesses_t.size",
"url":25,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_idp.reg_accesses_t.empty",
"url":25,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_idp.reg_accesses_t.at",
"url":25,
"doc":"at(self, _idx) -> reg_access_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_idp.reg_accesses_t.qclear",
"url":25,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_idp.reg_accesses_t.clear",
"url":25,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_idp.reg_accesses_t.resize",
"url":25,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: reg_access_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_idp.reg_accesses_t.grow",
"url":25,
"doc":"grow(self, x=reg_access_t( @param x: reg_access_t const &",
"func":1
},
{
"ref":"ida_idp.reg_accesses_t.capacity",
"url":25,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_idp.reg_accesses_t.reserve",
"url":25,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_idp.reg_accesses_t.truncate",
"url":25,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_idp.reg_accesses_t.swap",
"url":25,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_idp.reg_accesses_t.extract",
"url":25,
"doc":"extract(self) -> reg_access_t",
"func":1
},
{
"ref":"ida_idp.reg_accesses_t.inject",
"url":25,
"doc":"inject(self, s, len) @param s: reg_access_t  @param len: size_t",
"func":1
},
{
"ref":"ida_idp.reg_accesses_t.begin",
"url":25,
"doc":"begin(self) -> reg_access_t",
"func":1
},
{
"ref":"ida_idp.reg_accesses_t.end",
"url":25,
"doc":"end(self) -> reg_access_t",
"func":1
},
{
"ref":"ida_idp.reg_accesses_t.insert",
"url":25,
"doc":"insert(self, it, x) -> reg_access_t @param it: qvector  iterator @param x: reg_access_t const &",
"func":1
},
{
"ref":"ida_idp.reg_accesses_t.erase",
"url":25,
"doc":"erase(self, it) -> reg_access_t @param it: qvector  iterator erase(self, first, last) -> reg_access_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_idp.reg_accesses_t.find",
"url":25,
"doc":"find(self, x) -> reg_access_t @param x: reg_access_t const &",
"func":1
},
{
"ref":"ida_idp.reg_accesses_t.has",
"url":25,
"doc":"has(self, x) -> bool @param x: reg_access_t const &",
"func":1
},
{
"ref":"ida_idp.reg_accesses_t.add_unique",
"url":25,
"doc":"add_unique(self, x) -> bool @param x: reg_access_t const &",
"func":1
},
{
"ref":"ida_idp.SETPROC_IDB",
"url":25,
"doc":"set processor type for old idb"
},
{
"ref":"ida_idp.SETPROC_LOADER",
"url":25,
"doc":"set processor type for new idb; if the user has specified a compatible processor, return success without changing it. if failure, call loader_failure()"
},
{
"ref":"ida_idp.SETPROC_LOADER_NON_FATAL",
"url":25,
"doc":"the same as SETPROC_LOADER but non-fatal failures."
},
{
"ref":"ida_idp.SETPROC_USER",
"url":25,
"doc":"set user-specified processor used for -p and manual processor change at later time"
},
{
"ref":"ida_idp.set_processor_type",
"url":25,
"doc":"set_processor_type(procname, level) -> bool Set target processor type. Once a processor module is loaded, it cannot be replaced until we close the idb. @param procname: (C : const char  ) name of processor type (one of names present in processor_t psnames) @param level: (C : setproc_level_t) SETPROC_ @return: success",
"func":1
},
{
"ref":"ida_idp.get_idp_name",
"url":25,
"doc":"get_idp_name() -> str Get name of the current processor module. The name is derived from the file name. For example, for IBM PC the module is named \"pc.w32\" (windows version), then the module name is \"PC\" (uppercase). If no processor module is loaded, this function will return nullptr",
"func":1
},
{
"ref":"ida_idp.set_target_assembler",
"url":25,
"doc":"set_target_assembler(asmnum) -> bool Set target assembler. @param asmnum: (C : int) number of assembler in the current processor module @return: success",
"func":1
},
{
"ref":"ida_idp.LTC_NONE",
"url":25,
"doc":"no event (internal use)"
},
{
"ref":"ida_idp.LTC_ADDED",
"url":25,
"doc":"added a local type"
},
{
"ref":"ida_idp.LTC_DELETED",
"url":25,
"doc":"deleted a local type"
},
{
"ref":"ida_idp.LTC_EDITED",
"url":25,
"doc":"edited a local type"
},
{
"ref":"ida_idp.LTC_ALIASED",
"url":25,
"doc":"added a type alias"
},
{
"ref":"ida_idp.LTC_COMPILER",
"url":25,
"doc":"changed the compiler and calling convention"
},
{
"ref":"ida_idp.LTC_TIL_LOADED",
"url":25,
"doc":"loaded a til file"
},
{
"ref":"ida_idp.LTC_TIL_UNLOADED",
"url":25,
"doc":"unloaded a til file"
},
{
"ref":"ida_idp.LTC_TIL_COMPACTED",
"url":25,
"doc":"numbered types have been compacted compact_numbered_types()"
},
{
"ref":"ida_idp.gen_idb_event",
"url":25,
"doc":"gen_idb_event(code) the kernel will use this function to generate idb_events @param code: (C : idb_event event_code_t) enum idb_event event_code_t",
"func":1
},
{
"ref":"ida_idp.num_range_t",
"url":25,
"doc":"Proxy of C cfgopt_t num_range_t class. __init__(self, _min, _max) -> num_range_t @param _min: int64 @param _max: int64"
},
{
"ref":"ida_idp.num_range_t.thisown",
"url":25,
"doc":"The membership flag"
},
{
"ref":"ida_idp.num_range_t.minval",
"url":25,
"doc":"minval"
},
{
"ref":"ida_idp.num_range_t.maxval",
"url":25,
"doc":"maxval"
},
{
"ref":"ida_idp.params_t",
"url":25,
"doc":"Proxy of C cfgopt_t params_t class. __init__(self, _p1, _p2) -> params_t @param _p1: int64 @param _p2: int64"
},
{
"ref":"ida_idp.params_t.thisown",
"url":25,
"doc":"The membership flag"
},
{
"ref":"ida_idp.params_t.p1",
"url":25,
"doc":"p1"
},
{
"ref":"ida_idp.params_t.p2",
"url":25,
"doc":"p2"
},
{
"ref":"ida_idp.register_cfgopts",
"url":25,
"doc":"register_cfgopts(opts, nopts, cb=None, obj=None) -> bool @param opts: cfgopt_t const [] @param nopts: size_t @param cb: config_changed_cb_t  @param obj: void  ",
"func":1
},
{
"ref":"ida_idp.get_config_value",
"url":25,
"doc":"get_config_value(key) -> bool @param key: char const  ",
"func":1
},
{
"ref":"ida_idp.cfg_get_cc_parm",
"url":25,
"doc":"cfg_get_cc_parm(compid, name) -> char const  @param compid: comp_t @param name: char const  ",
"func":1
},
{
"ref":"ida_idp.cfg_get_cc_header_path",
"url":25,
"doc":"cfg_get_cc_header_path(compid) -> char const  @param compid: comp_t",
"func":1
},
{
"ref":"ida_idp.cfg_get_cc_predefined_macros",
"url":25,
"doc":"cfg_get_cc_predefined_macros(compid) -> char const  @param compid: comp_t",
"func":1
},
{
"ref":"ida_idp.process_config_directive",
"url":25,
"doc":"process_config_directive(directive, priority=2) @param directive: char const  @param priority: int",
"func":1
},
{
"ref":"ida_idp.assemble",
"url":25,
"doc":"assemble(ea, cs, ip, use32, line) -> bool Assemble an instruction into the database (display a warning if an error is found) @param ea: linear address of instruction @param cs: cs of instruction @param ip: ip of instruction @param use32: is 32bit segment? @param line: line to assemble @return: Boolean. True on success.",
"func":1
},
{
"ref":"ida_idp.ph_get_id",
"url":25,
"doc":"ph_get_id() -> size_t Returns the 'ph.id' field",
"func":1
},
{
"ref":"ida_idp.ph_get_version",
"url":25,
"doc":"ph_get_version() -> size_t Returns the 'ph.version'",
"func":1
},
{
"ref":"ida_idp.ph_get_flag",
"url":25,
"doc":"ph_get_flag() -> size_t Returns the 'ph.flag'",
"func":1
},
{
"ref":"ida_idp.ph_get_cnbits",
"url":25,
"doc":"ph_get_cnbits() -> size_t Returns the 'ph.cnbits'",
"func":1
},
{
"ref":"ida_idp.ph_get_dnbits",
"url":25,
"doc":"ph_get_dnbits() -> size_t Returns the 'ph.dnbits'",
"func":1
},
{
"ref":"ida_idp.ph_get_reg_first_sreg",
"url":25,
"doc":"ph_get_reg_first_sreg() -> size_t Returns the 'ph.reg_first_sreg'",
"func":1
},
{
"ref":"ida_idp.ph_get_reg_last_sreg",
"url":25,
"doc":"ph_get_reg_last_sreg() -> size_t Returns the 'ph.reg_last_sreg'",
"func":1
},
{
"ref":"ida_idp.ph_get_segreg_size",
"url":25,
"doc":"ph_get_segreg_size() -> size_t Returns the 'ph.segreg_size'",
"func":1
},
{
"ref":"ida_idp.ph_get_reg_code_sreg",
"url":25,
"doc":"ph_get_reg_code_sreg() -> size_t Returns the 'ph.reg_code_sreg'",
"func":1
},
{
"ref":"ida_idp.ph_get_reg_data_sreg",
"url":25,
"doc":"ph_get_reg_data_sreg() -> size_t Returns the 'ph.reg_data_sreg'",
"func":1
},
{
"ref":"ida_idp.ph_get_icode_return",
"url":25,
"doc":"ph_get_icode_return() -> size_t Returns the 'ph.icode_return'",
"func":1
},
{
"ref":"ida_idp.ph_get_instruc_start",
"url":25,
"doc":"ph_get_instruc_start() -> size_t Returns the 'ph.instruc_start'",
"func":1
},
{
"ref":"ida_idp.ph_get_instruc_end",
"url":25,
"doc":"ph_get_instruc_end() -> size_t Returns the 'ph.instruc_end'",
"func":1
},
{
"ref":"ida_idp.ph_get_tbyte_size",
"url":25,
"doc":"ph_get_tbyte_size() -> size_t Returns the 'ph.tbyte_size' field as defined in he processor module",
"func":1
},
{
"ref":"ida_idp.ph_get_instruc",
"url":25,
"doc":"ph_get_instruc() -> [(str, int),  .] Returns a list of tuples (instruction_name, instruction_feature) containing the instructions list as defined in he processor module",
"func":1
},
{
"ref":"ida_idp.ph_get_regnames",
"url":25,
"doc":"ph_get_regnames() -> [str,  .] Returns the list of register names as defined in the processor module",
"func":1
},
{
"ref":"ida_idp.ph_get_operand_info",
"url":25,
"doc":"ph_get_operand_info(ea, n) -> (int, int, int, int, int) or None Returns the operand information given an ea and operand number. @param ea: address @param n: operand number @return: Returns an idd_opinfo_t as a tuple: (modified, ea, reg_ival, regidx, value_size). Please refer to idd_opinfo_t structure in the SDK.",
"func":1
},
{
"ref":"ida_idp.ph_calcrel",
"url":25,
"doc":"ph_calcrel(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_idp.ph_find_reg_value",
"url":25,
"doc":"ph_find_reg_value(insn, reg) -> ssize_t @param insn: an ida_ua.insn_t, or an address (C : const insn_t &) @param reg: int",
"func":1
},
{
"ref":"ida_idp.ph_find_op_value",
"url":25,
"doc":"ph_find_op_value(insn, op) -> ssize_t @param insn: an ida_ua.insn_t, or an address (C : const insn_t &) @param op: int",
"func":1
},
{
"ref":"ida_idp.ph_get_reg_accesses",
"url":25,
"doc":"ph_get_reg_accesses(accvec, insn, flags) -> ssize_t @param accvec: reg_accesses_t  @param insn: an ida_ua.insn_t, or an address (C : const insn_t &) @param flags: int",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks",
"url":25,
"doc":"Proxy of C IDP_Hooks class. __init__(self, _flags=0, _hkcb_flags=0x0001) -> IDP_Hooks @param _flags: uint32 @param _hkcb_flags: uint32"
},
{
"ref":"ida_idp.IDP_Hooks.thisown",
"url":25,
"doc":"The membership flag"
},
{
"ref":"ida_idp.IDP_Hooks.hook",
"url":25,
"doc":"hook(self) -> bool",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.unhook",
"url":25,
"doc":"unhook(self) -> bool",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_init",
"url":25,
"doc":"ev_init(self, idp_modname) -> int The IDP module is just loaded. @param idp_modname: (const char  ) processor module name @retval <0: on failure",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_term",
"url":25,
"doc":"ev_term(self) -> int The IDP module is being unloaded.",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_newprc",
"url":25,
"doc":"ev_newprc(self, pnum, keep_cfg) -> int Before changing processor type. @param pnum: (int) processor number in the array of processor names @param keep_cfg: (bool) true: do not modify kernel configuration @retval 1: ok @retval <0: prohibit",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_newasm",
"url":25,
"doc":"ev_newasm(self, asmnum) -> int Before setting a new assembler. @param asmnum: (int) See also ev_asm_installed",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_newfile",
"url":25,
"doc":"ev_newfile(self, fname) -> int A new file has been loaded. @param fname: (char  ) input file name",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_oldfile",
"url":25,
"doc":"ev_oldfile(self, fname) -> int An old file has been loaded. @param fname: (char  ) input file name",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_newbinary",
"url":25,
"doc":"ev_newbinary(self, filename, fileoff, basepara, binoff, nbytes) -> int IDA is about to load a binary file. @param filename: (char  ) binary file name @param fileoff: (qoff64_t) offset in the file @param basepara: ( ea_t) base loading paragraph @param binoff: ( ea_t) loader offset @param nbytes: ( uint64) number of bytes to load",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_endbinary",
"url":25,
"doc":"ev_endbinary(self, ok) -> int IDA has loaded a binary file. @param ok: (bool) file loaded successfully?",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_set_idp_options",
"url":25,
"doc":"ev_set_idp_options(self, keyword, value_type, value, idb_loaded) -> int Set IDP-specific configuration option Also see set_options_t in config.hpp @param keyword: (const char  ) @param value_type: (int) @param value: (const void  ) @param idb_loaded: (bool) true if the ev_oldfile/ev_newfile events have been generated @retval 1: ok @retval 0: not implemented @retval -1: error (and message in errbuf)",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_set_proc_options",
"url":25,
"doc":"ev_set_proc_options(self, options, confidence) -> int Called if the user specified an option string in the command line: -p : . Can be used for setting a processor subtype. Also called if option string is passed to set_processor_type() and IDC's SetProcessorType(). @param options: (const char  ) @param confidence: (int) 0: loader's suggestion 1: user's decision @retval <0: if bad option string",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_ana_insn",
"url":25,
"doc":"ev_ana_insn(self, out) -> bool Analyze one instruction and fill 'out' structure. This function shouldn't change the database, flags or anything else. All these actions should be performed only by emu_insn() function. insn_t ea contains address of instruction to analyze. @param out: (insn_t  ) @return: length of the instruction in bytes, 0 if instruction can't be decoded. @retval 0: if instruction can't be decoded.",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_emu_insn",
"url":25,
"doc":"ev_emu_insn(self, insn) -> bool Emulate instruction, create cross-references, plan to analyze subsequent instructions, modify flags etc. Upon entrance to this function, all information about the instruction is in 'insn' structure. @param insn: (const insn_t  ) @retval 1: ok @retval -1: the kernel will delete the instruction",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_out_header",
"url":25,
"doc":"ev_out_header(self, outctx) -> int Function to produce start of disassembled text @param outctx: (outctx_t  ) @retval void",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_out_footer",
"url":25,
"doc":"ev_out_footer(self, outctx) -> int Function to produce end of disassembled text @param outctx: (outctx_t  ) @retval void",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_out_segstart",
"url":25,
"doc":"ev_out_segstart(self, outctx, seg) -> int Function to produce start of segment @param outctx: (outctx_t  ) @param seg: (segment_t  ) @retval 1: ok @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_out_segend",
"url":25,
"doc":"ev_out_segend(self, outctx, seg) -> int Function to produce end of segment @param outctx: (outctx_t  ) @param seg: (segment_t  ) @retval 1: ok @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_out_assumes",
"url":25,
"doc":"ev_out_assumes(self, outctx) -> int Function to produce assume directives when segment register value changes. @param outctx: (outctx_t  ) @retval 1: ok @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_out_insn",
"url":25,
"doc":"ev_out_insn(self, outctx) -> bool Generate text representation of an instruction in 'ctx.insn' outctx_t provides functions to output the generated text. This function shouldn't change the database, flags or anything else. All these actions should be performed only by emu_insn() function. @param outctx: (outctx_t  ) @retval void",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_out_mnem",
"url":25,
"doc":"ev_out_mnem(self, outctx) -> int Generate instruction mnemonics. This callback should append the colored mnemonics to ctx.outbuf Optional notification, if absent, out_mnem will be called. @param outctx: (outctx_t  ) @retval 1: if appended the mnemonics @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_out_operand",
"url":25,
"doc":"ev_out_operand(self, outctx, op) -> bool Generate text representation of an instruction operand outctx_t provides functions to output the generated text. All these actions should be performed only by emu_insn() function. @param outctx: (outctx_t  ) @param op: (const op_t  ) @retval 1: ok @retval -1: operand is hidden",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_out_data",
"url":25,
"doc":"ev_out_data(self, outctx, analyze_only) -> int Generate text representation of data items This function may change the database and create cross-references if analyze_only is set @param outctx: (outctx_t  ) @param analyze_only: (bool) @retval 1: ok @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_out_label",
"url":25,
"doc":"ev_out_label(self, outctx, colored_name) -> int The kernel is going to generate an instruction label line or a function header. @param outctx: (outctx_t  ) @param colored_name: (const char  ) @retval <0: if the kernel should not generate the label @retval 0: not implemented or continue",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_out_special_item",
"url":25,
"doc":"ev_out_special_item(self, outctx, segtype) -> int Generate text representation of an item in a special segment i.e. absolute symbols, externs, communal definitions etc @param outctx: (outctx_t  ) @param segtype: (uchar) @retval 1: ok @retval 0: not implemented @retval -1: overflow",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_gen_regvar_def",
"url":25,
"doc":"ev_gen_regvar_def(self, outctx, v) -> int Generate register variable definition line. @param outctx: (outctx_t  ) @param v: (regvar_t  ) @retval >0: ok, generated the definition text @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_gen_src_file_lnnum",
"url":25,
"doc":"ev_gen_src_file_lnnum(self, outctx, file, lnnum) -> int @param outctx: (outctx_t  ) output context @param file: (const char  ) source file (may be nullptr) @param lnnum: (size_t) line number @retval 1: directive has been generated @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_creating_segm",
"url":25,
"doc":"ev_creating_segm(self, seg) -> int A new segment is about to be created. @param seg: (segment_t  ) @retval 1: ok @retval <0: segment should not be created",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_moving_segm",
"url":25,
"doc":"ev_moving_segm(self, seg, to, flags) -> int May the kernel move the segment? @param seg: (segment_t  ) segment to move @param to: ( ea_t) new segment start address @param flags: (int) combination of Move segment flags @retval 0: yes @retval <0: the kernel should stop",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_coagulate",
"url":25,
"doc":"ev_coagulate(self, start_ea) -> int Try to define some unexplored bytes. This notification will be called if the kernel tried all possibilities and could not find anything more useful than to convert to array of bytes. The module can help the kernel and convert the bytes into something more useful. @param start_ea: ( ea_t) @return: number of converted bytes",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_undefine",
"url":25,
"doc":"ev_undefine(self, ea) -> int An item in the database (insn or data) is being deleted. @param ea: (ea_t) @retval 1: do not delete srranges at the item end @retval 0: srranges can be deleted",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_treat_hindering_item",
"url":25,
"doc":"ev_treat_hindering_item(self, hindering_item_ea, new_item_flags, new_item_ea, new_item_length) -> int An item hinders creation of another item. @param hindering_item_ea: ( ea_t) @param new_item_flags: (flags64_t) (0 for code) @param new_item_ea: ( ea_t) @param new_item_length: ( asize_t) @retval 0: no reaction @retval !=0: the kernel may delete the hindering item",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_rename",
"url":25,
"doc":"ev_rename(self, ea, new_name) -> int The kernel is going to rename a byte. @param ea: ( ea_t) @param new_name: (const char  ) @retval <0: if the kernel should not rename it. @retval 2: to inhibit the notification. I.e., the kernel should not rename, but 'set_name()' should return 'true'. also see renamed the return value is ignored when kernel is going to delete name",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_is_far_jump",
"url":25,
"doc":"ev_is_far_jump(self, icode) -> int is indirect far jump or call instruction? meaningful only if the processor has 'near' and 'far' reference types @param icode: (int) @retval 0: not implemented @retval 1: yes @retval -1: no",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_is_sane_insn",
"url":25,
"doc":"ev_is_sane_insn(self, insn, no_crefs) -> int Is the instruction sane for the current file type?. @param insn: (const insn_t ) the instruction @param no_crefs: (int) 1: the instruction has no code refs to it. ida just tries to convert unexplored bytes to an instruction (but there is no other reason to convert them into an instruction) 0: the instruction is created because of some coderef, user request or another weighty reason. @retval >=0: ok @retval <0: no, the instruction isn't likely to appear in the program",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_is_cond_insn",
"url":25,
"doc":"ev_is_cond_insn(self, insn) -> int Is conditional instruction? @param insn: (const insn_t  ) instruction address @retval 1: yes @retval -1: no @retval 0: not implemented or not instruction",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_is_call_insn",
"url":25,
"doc":"ev_is_call_insn(self, insn) -> int Is the instruction a \"call\"? @param insn: (const insn_t  ) instruction @retval 0: unknown @retval <0: no @retval 1: yes",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_is_ret_insn",
"url":25,
"doc":"ev_is_ret_insn(self, insn, flags) -> int Is the instruction a \"return\"? @param insn: (const insn_t  ) instruction @param flags: (uchar), combination of IRI_ . flags (see above) @retval 0: unknown @retval <0: no @retval 1: yes",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_may_be_func",
"url":25,
"doc":"ev_may_be_func(self, insn, state) -> int Can a function start here? @param insn: (const insn_t ) the instruction @param state: (int) autoanalysis phase 0: creating functions 1: creating chunks @return: probability 1 100 @note: Actually IDA uses 3 intervals of a probability: 0 50 not a function, 51 99 a function (IDA needs another proof), 100 a function (no other proofs needed)",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_is_basic_block_end",
"url":25,
"doc":"ev_is_basic_block_end(self, insn, call_insn_stops_block) -> int Is the current instruction end of a basic block?. This function should be defined for processors with delayed jump slots. @param insn: (const insn_t ) the instruction @param call_insn_stops_block: (bool) @retval 0: unknown @retval <0: no @retval 1: yes",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_is_indirect_jump",
"url":25,
"doc":"ev_is_indirect_jump(self, insn) -> int Determine if instruction is an indirect jump. If CF_JUMP bit cannot describe all jump types jumps, please define this callback. @param insn: (const insn_t ) the instruction @retval 0: use CF_JUMP @retval 1: no @retval 2: yes",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_is_insn_table_jump",
"url":25,
"doc":"ev_is_insn_table_jump(self) -> int Reserved.",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_is_switch",
"url":25,
"doc":"ev_is_switch(self, si, insn) -> int Find 'switch' idiom or override processor module's decision. It will be called for instructions marked with CF_JUMP. @param si: (switch_info_t  ), out @param insn: (const insn_t  ) instruction possibly belonging to a switch @retval 1: switch is found, 'si' is filled. IDA will create the switch using the filled 'si' @retval -1: no switch found. This value forbids switch creation by the processor module @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_calc_switch_cases",
"url":25,
"doc":"ev_calc_switch_cases(self, casevec, targets, insn_ea, si) -> int Calculate case values and targets for a custom jump table. @param casevec: ( casevec_t  ) vector of case values (may be nullptr) @param targets: (eavec_t  ) corresponding target addresses (my be nullptr) @param insn_ea: ( ea_t) address of the 'indirect jump' instruction @param si: (switch_info_t  ) switch information @retval 1: ok @retval <=0: failed",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_create_switch_xrefs",
"url":25,
"doc":"ev_create_switch_xrefs(self, jumpea, si) -> int Create xrefs for a custom jump table. @param jumpea: ( ea_t) address of the jump insn @param si: (const switch_info_t  ) switch information @return: must return 1 Must be implemented if module uses custom jump tables, SWI_CUSTOM",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_is_align_insn",
"url":25,
"doc":"ev_is_align_insn(self, ea) -> int Is the instruction created only for alignment purposes?. Do not directly call this function, use is_align_insn() @param ea: (ea_t) - instruction address @retval number: of bytes in the instruction",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_is_alloca_probe",
"url":25,
"doc":"ev_is_alloca_probe(self, ea) -> int Does the function at 'ea' behave as __alloca_probe? @param ea: ( ea_t) @retval 1: yes @retval 0: no",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_delay_slot_insn",
"url":25,
"doc":"ev_delay_slot_insn(self, ea, bexec, fexec) -> PyObject  Get delay slot instruction @param ea: ( ea_t  ) in: instruction address in question, out: (if the answer is positive) if the delay slot contains valid insn: the address of the delay slot insn else: BADADDR (invalid insn, e.g. a branch) @param bexec: (bool  ) execute slot if jumping, initially set to 'true' @param fexec: (bool  ) execute slot if not jumping, initally set to 'true' @retval 1: positive answer @retval <=0: ordinary insn @note: Input EA may point to the instruction with a delay slot or to the delay slot instruction itself.",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_is_sp_based",
"url":25,
"doc":"ev_is_sp_based(self, mode, insn, op) -> int Check whether the operand is relative to stack pointer or frame pointer This event is used to determine how to output a stack variable If not implemented, then all operands are sp based by default. Implement this event only if some stack references use frame pointer instead of stack pointer. @param mode: (int  ) out, combination of SP/FP operand flags @param insn: (const insn_t  ) @param op: (const op_t  ) @retval 0: not implemented @retval 1: ok",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_can_have_type",
"url":25,
"doc":"ev_can_have_type(self, op) -> int Can the operand have a type as offset, segment, decimal, etc? (for example, a register AX can't have a type, meaning that the user can't change its representation. see bytes.hpp for information about types and flags) @param op: (const op_t  ) @retval 0: unknown @retval <0: no @retval 1: yes",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_cmp_operands",
"url":25,
"doc":"ev_cmp_operands(self, op1, op2) -> int Compare instruction operands @param op1: (const op_t ) @param op2: (const op_t ) @retval 1: equal @retval -1: not equal @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_adjust_refinfo",
"url":25,
"doc":"ev_adjust_refinfo(self, ri, ea, n, fd) -> int Called from apply_fixup before converting operand to reference. Can be used for changing the reference info. (e.g. the PPC module adds REFINFO_NOBASE for some references) @param ri: (refinfo_t  ) @param ea: ( ea_t) instruction address @param n: (int) operand number @param fd: (const fixup_data_t  ) @retval <0: do not create an offset @retval 0: not implemented or refinfo adjusted",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_get_operand_string",
"url":25,
"doc":"ev_get_operand_string(self, insn, opnum) -> PyObject  Request text string for operand (cli, java,  .). @param insn: (const insn_t ) the instruction @param opnum: (int) operand number, -1 means any string operand @retval 0: no string (or empty string) @retval >0: original string length without terminating zero",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_get_reg_name",
"url":25,
"doc":"ev_get_reg_name(self, reg, width, reghi) -> PyObject  Generate text representation of a register. Most processor modules do not need to implement this callback. It is useful only if processor_t reg_names[reg] does not provide the correct register name. @param reg: (int) internal register number as defined in the processor module @param width: (size_t) register width in bytes @param reghi: (int) if not -1 then this function will return the register pair @retval -1: if error @retval strlen(buf): if success",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_str2reg",
"url":25,
"doc":"ev_str2reg(self, regname) -> int Convert a register name to a register number. The register number is the register index in the processor_t reg_names array Most processor modules do not need to implement this callback It is useful only if processor_t reg_names[reg] does not provide the correct register names @param regname: (const char  ) @retval register: number + 1 @retval 0: not implemented or could not be decoded",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_get_autocmt",
"url":25,
"doc":"ev_get_autocmt(self, insn) -> PyObject  @param insn: (const insn_t ) the instruction @retval 1: new comment has been generated @retval 0: callback has not been handled. the buffer must not be changed in this case",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_get_bg_color",
"url":25,
"doc":"ev_get_bg_color(self, color, ea) -> int Get item background color. Plugins can hook this callback to color disassembly lines dynamically @param color: (bgcolor_t  ), out @param ea: ( ea_t) @retval 0: not implemented @retval 1: color set",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_is_jump_func",
"url":25,
"doc":"ev_is_jump_func(self, pfn, jump_target, func_pointer) -> int Is the function a trivial \"jump\" function?. @param pfn: (func_t  ) @param jump_target: ( ea_t  ) @param func_pointer: ( ea_t  ) @retval <0: no @retval 0: don't know @retval 1: yes, see 'jump_target' and 'func_pointer'",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_func_bounds",
"url":25,
"doc":"ev_func_bounds(self, possible_return_code, pfn, max_func_end_ea) -> int find_func_bounds() finished its work. The module may fine tune the function bounds @param possible_return_code: (int  ), in/out @param pfn: (func_t  ) @param max_func_end_ea: ( ea_t) (from the kernel's point of view) @retval void",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_verify_sp",
"url":25,
"doc":"ev_verify_sp(self, pfn) -> int All function instructions have been analyzed. Now the processor module can analyze the stack pointer for the whole function @param pfn: (func_t  ) @retval 0: ok @retval <0: bad stack pointer",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_verify_noreturn",
"url":25,
"doc":"ev_verify_noreturn(self, pfn) -> int The kernel wants to set 'noreturn' flags for a function. @param pfn: (func_t  ) @retval 0: ok. any other value: do not set 'noreturn' flag",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_create_func_frame",
"url":25,
"doc":"ev_create_func_frame(self, pfn) -> int Create a function frame for a newly created function Set up frame size, its attributes etc @param pfn: (func_t  ) @retval 1: ok @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_get_frame_retsize",
"url":25,
"doc":"ev_get_frame_retsize(self, frsize, pfn) -> int Get size of function return address in bytes If this event is not implemented, the kernel will assume  8 bytes for 64-bit function  4 bytes for 32-bit function  2 bytes otherwise @param frsize: (int  ) frame size (out) @param pfn: (const func_t  ), can't be nullptr @retval 1: ok @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_get_stkvar_scale_factor",
"url":25,
"doc":"ev_get_stkvar_scale_factor(self) -> int Should stack variable references be multiplied by a coefficient before being used in the stack frame?. Currently used by TMS320C55 because the references into the stack should be multiplied by 2 @return: scaling factor @retval 0: not implemented @note: PR_SCALE_STKVARS should be set to use this callback",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_demangle_name",
"url":25,
"doc":"ev_demangle_name(self, name, disable_mask, demreq) -> PyObject  Demangle a C (or another language) name into a user-readable string. This event is called by demangle_name() @param name: (const char  ) mangled name @param disable_mask: (uint32) flags to inhibit parts of output or compiler info/other (see MNG_) @param demreq: (demreq_type_t) operation to perform @retval 1: if success @retval 0: not implemented @note: if you call demangle_name() from the handler, protect against recursion!",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_add_cref",
"url":25,
"doc":"ev_add_cref(self, _from, to, type) -> int A code reference is being created. @param from: ( ea_t) @param to: ( ea_t) @param type: (cref_t) @retval <0: cancel cref creation @retval 0: not implemented or continue",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_add_dref",
"url":25,
"doc":"ev_add_dref(self, _from, to, type) -> int A data reference is being created. @param from: ( ea_t) @param to: ( ea_t) @param type: (dref_t) @retval <0: cancel dref creation @retval 0: not implemented or continue",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_del_cref",
"url":25,
"doc":"ev_del_cref(self, _from, to, expand) -> int A code reference is being deleted. @param from: ( ea_t) @param to: ( ea_t) @param expand: (bool) @retval <0: cancel cref deletion @retval 0: not implemented or continue",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_del_dref",
"url":25,
"doc":"ev_del_dref(self, _from, to) -> int A data reference is being deleted. @param from: ( ea_t) @param to: ( ea_t) @retval <0: cancel dref deletion @retval 0: not implemented or continue",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_coagulate_dref",
"url":25,
"doc":"ev_coagulate_dref(self, _from, to, may_define, code_ea) -> int Data reference is being analyzed. plugin may correct 'code_ea' (e.g. for thumb mode refs, we clear the last bit) @param from: ( ea_t) @param to: ( ea_t) @param may_define: (bool) @param code_ea: ( ea_t  ) @retval  0 done dref analysis @retval 0: not implemented or continue",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_may_show_sreg",
"url":25,
"doc":"ev_may_show_sreg(self, current_ea) -> int The kernel wants to display the segment registers in the messages window. @param current_ea: ( ea_t) @retval <0: if the kernel should not show the segment registers. (assuming that the module has done it) @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_auto_queue_empty",
"url":25,
"doc":"ev_auto_queue_empty(self, type) -> int One analysis queue is empty. @param type: (atype_t) @retval void: see also idb_event auto_empty_finally",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_validate_flirt_func",
"url":25,
"doc":"ev_validate_flirt_func(self, start_ea, funcname) -> int Flirt has recognized a library function. This callback can be used by a plugin or proc module to intercept it and validate such a function. @param start_ea: ( ea_t) @param funcname: (const char  ) @retval -1: do not create a function, @retval 0: function is validated",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_adjust_libfunc_ea",
"url":25,
"doc":"ev_adjust_libfunc_ea(self, sig, libfun, ea) -> int Called when a signature module has been matched against bytes in the database. This is used to compute the offset at which a particular module's libfunc should be applied. @param sig: (const idasgn_t  ) @param libfun: (const libfunc_t  ) @param ea: ( ea_t  ) @note: 'ea' initially contains the ea_t of the start of the pattern match @retval 1: the ea_t pointed to by the third argument was modified. @retval <=0: not modified. use default algorithm.",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_assemble",
"url":25,
"doc":"ev_assemble(self, ea, cs, ip, use32, line) -> PyObject  Assemble an instruction. (display a warning if an error is found). @param ea: ( ea_t) linear address of instruction @param cs: ( ea_t) cs of instruction @param ip: ( ea_t) ip of instruction @param use32: (bool) is 32bit segment? @param line: (const char  ) line to assemble @return: size of the instruction in bytes",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_extract_address",
"url":25,
"doc":"ev_extract_address(self, out_ea, screen_ea, string, position) -> int Extract address from a string. @param out_ea: (ea_t  ), out @param screen_ea: (ea_t) @param string: (const char  ) @param position: (size_t) @retval 1: ok @retval 0: kernel should use the standard algorithm @retval -1: error",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_realcvt",
"url":25,
"doc":"ev_realcvt(self, m, e, swt) -> int Floating point -> IEEE conversion @param m: (void  ) ptr to processor-specific floating point value @param e: (fpvalue_t  ) IDA representation of a floating point value @param swt: (uint16) operation (see realcvt() in ieee.h) @retval 0: not implemented @retval unknown",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_gen_asm_or_lst",
"url":25,
"doc":"ev_gen_asm_or_lst(self, starting, fp, is_asm, flags, outline) -> int @param starting: (bool) beginning listing generation @param fp: (FILE  ) output file @param is_asm: (bool) true:assembler, false:listing @param flags: (int) flags passed to gen_file() @param outline: (html_line_cb_t  ) ptr to ptr to outline callback. if this callback is defined for this code, it will be used by the kernel to output the generated lines @retval void",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_gen_map_file",
"url":25,
"doc":"ev_gen_map_file(self, nlines, fp) -> int Generate map file. If not implemented the kernel itself will create the map file. @param nlines: (int  ) number of lines in map file (-1 means write error) @param fp: (FILE  ) output file @retval 0: not implemented @retval 1: ok @retval -1: write error",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_create_flat_group",
"url":25,
"doc":"ev_create_flat_group(self, image_base, bitness, dataseg_sel) -> int Create special segment representing the flat group. @param image_base: ( ea_t) @param bitness: (int) @param dataseg_sel: ( sel_t) return value is ignored",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_getreg",
"url":25,
"doc":"ev_getreg(self, regval, regnum) -> int IBM PC only internal request, should never be used for other purpose Get register value by internal index @param regval: (uval_t  ), out @param regnum: (int) @retval 1: ok @retval 0: not implemented @retval -1: failed (undefined value or bad regnum)",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_analyze_prolog",
"url":25,
"doc":"ev_analyze_prolog(self, ea) -> int Analyzes function prolog, epilog, and updates purge, and function attributes @param ea: ( ea_t) start of function @retval 1: ok @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_calc_spdelta",
"url":25,
"doc":"ev_calc_spdelta(self, spdelta, insn) -> int Calculate amount of change to sp for the given insn. This event is required to decompile code snippets. @param spdelta: (sval_t  ) @param insn: (const insn_t  ) @retval 1: ok @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_calcrel",
"url":25,
"doc":"ev_calcrel(self) -> int Reserved.",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_find_reg_value",
"url":25,
"doc":"ev_find_reg_value(self, pinsn, reg) -> PyObject  Find register value via a register tracker. The returned value in 'out' is valid before executing the instruction. @param pinsn: (const insn_t  ) instruction @param reg: (int) register index @retval 1: if implemented, and value was found @retval 0: not implemented, -1 decoding failed, or no value found",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_find_op_value",
"url":25,
"doc":"ev_find_op_value(self, pinsn, opn) -> PyObject  Find operand value via a register tracker. The returned value in 'out' is valid before executing the instruction. @param pinsn: (const insn_t  ) instruction @param opn: (int) operand index @retval 1: if implemented, and value was found @retval 0: not implemented, -1 decoding failed, or no value found",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_replaying_undo",
"url":25,
"doc":"ev_replaying_undo(self, action_name, vec, is_undo) -> int Replaying an undo/redo buffer @param action_name: (const char  ) action that we perform undo/redo for. may be nullptr for intermediary buffers. @param vec: (const undo_records_t  ) @param is_undo: (bool) true if performing undo, false if performing redo This event may be generated multiple times per undo/redo",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_ending_undo",
"url":25,
"doc":"ev_ending_undo(self, action_name, is_undo) -> int Ended undoing/redoing an action @param action_name: (const char  ) action that we finished undoing/redoing. is not nullptr. @param is_undo: (bool) true if performing undo, false if performing redo",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_set_code16_mode",
"url":25,
"doc":"ev_set_code16_mode(self, ea, code16) -> int Some processors have ISA 16-bit mode e.g. ARM Thumb mode, PPC VLE, MIPS16 Set ISA 16-bit mode @param ea: (ea_t) address to set new ISA mode @param code16: (bool) true for 16-bit mode, false for 32-bit mode",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_get_code16_mode",
"url":25,
"doc":"ev_get_code16_mode(self, ea) -> int Get ISA 16-bit mode @param ea: (ea_t) address to get the ISA mode @retval 1: 16-bit mode @retval 0: not implemented or 32-bit mode",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_get_procmod",
"url":25,
"doc":"ev_get_procmod(self) -> int Get pointer to the processor module object. All processor modules must implement this. The pointer is returned as size_t.",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_asm_installed",
"url":25,
"doc":"ev_asm_installed(self, asmnum) -> int After setting a new assembler @param asmnum: (int) See also ev_newasm",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_get_reg_accesses",
"url":25,
"doc":"ev_get_reg_accesses(self, accvec, insn, flags) -> int Get info about the registers that are used/changed by an instruction. @param accvec: (reg_accesses_t ) out: info about accessed registers @param insn: (const insn_t  ) instruction in question @param flags: (int) reserved, must be 0 @retval -1: if accvec is nullptr @retval 1: found the requested access (and filled accvec) @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_is_control_flow_guard",
"url":25,
"doc":"ev_is_control_flow_guard(self, p_reg, insn) -> int Detect if an instruction is a \"thunk call\" to a flow guard function (equivalent to call reg/return/nop) @param p_reg: (int  ) indirect register number, may be -1 @param insn: (const insn_t  ) call/jump instruction @retval -1: no thunk detected @retval 1: indirect call @retval 2: security check routine call (NOP) @retval 3: return thunk @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_create_merge_handlers",
"url":25,
"doc":"ev_create_merge_handlers(self, md) -> int Create merge handlers, if needed @param md: (merge_data_t  ) This event is generated immediately after opening idbs. @return: must be 0",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_privrange_changed",
"url":25,
"doc":"ev_privrange_changed(self, old_privrange, delta) -> int Privrange interval has been moved to a new location. Most common actions to be done by module in this case: fix indices of netnodes used by module @param old_privrange: (const range_t  ) - old privrange interval @param delta: ( adiff_t) @return: 0 Ok -1 error (and message in errbuf)",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_cvt64_supval",
"url":25,
"doc":"ev_cvt64_supval(self, node, tag, idx, data) -> int perform 32-64 conversion for a netnode array element @param node: ( nodeidx_t) @param tag: (uchar) @param idx: ( nodeidx_t) @param data: (const uchar  ) @return: 0 nothing was done 1 converted successfully -1 error (and message in errbuf)",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_cvt64_hashval",
"url":25,
"doc":"ev_cvt64_hashval(self, node, tag, name, data) -> int perform 32-64 conversion for a hash value @param node: ( nodeidx_t) @param tag: (uchar) @param name: (const  char  ) @param data: (const uchar  ) @return: 0 nothing was done 1 converted successfully -1 error (and message in errbuf)",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_gen_stkvar_def",
"url":25,
"doc":"ev_gen_stkvar_def(self, outctx, stkvar, v, tid) -> int Generate stack variable definition line Default line is varname = type ptr value, where 'type' is one of byte,word,dword,qword,tbyte @param outctx: (outctx_t  ) @param stkvar: (const udm_t  ) @param v: (sval_t) @param tid: (tid_t) stkvar TID @retval 1: ok @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_next_exec_insn",
"url":25,
"doc":"ev_next_exec_insn(self, target, ea, tid, getreg, regvalues) -> int Get next address to be executed This function must return the next address to be executed. If the instruction following the current one is executed, then it must return BADADDR Usually the instructions to consider are: jumps, branches, calls, returns. This function is essential if the 'single step' is not supported in hardware. @param target: ( ea_t  ), out: pointer to the answer @param ea: ( ea_t) instruction address @param tid: (int) current therad id @param getreg: ( processor_t regval_getter_t  ) function to get register values @param regvalues: (const regval_t  ) register values array @retval 0: unimplemented @retval 1: implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_calc_step_over",
"url":25,
"doc":"ev_calc_step_over(self, target, ip) -> int Calculate the address of the instruction which will be executed after \"step over\". The kernel will put a breakpoint there. If the step over is equal to step into or we cannot calculate the address, return BADADDR. @param target: ( ea_t  ) pointer to the answer @param ip: ( ea_t) instruction address @retval 0: unimplemented @retval 1: implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_calc_next_eas",
"url":25,
"doc":"ev_calc_next_eas(self, res, insn, over) -> int Calculate list of addresses the instruction in 'insn' may pass control to. This callback is required for source level debugging. @param res: (eavec_t  ), out: array for the results. @param insn: (const insn_t ) the instruction @param over: (bool) calculate for step over (ignore call targets) @retval  =0: number of addresses of called functions in the array. They must be put at the beginning of the array (0 if over=true)",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_get_macro_insn_head",
"url":25,
"doc":"ev_get_macro_insn_head(self, head, ip) -> int Calculate the start of a macro instruction. This notification is called if IP points to the middle of an instruction @param head: ( ea_t  ), out: answer, BADADDR means normal instruction @param ip: ( ea_t) instruction address @retval 0: unimplemented @retval 1: implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_get_dbr_opnum",
"url":25,
"doc":"ev_get_dbr_opnum(self, opnum, insn) -> int Get the number of the operand to be displayed in the debugger reference view (text mode). @param opnum: (int  ) operand number (out, -1 means no such operand) @param insn: (const insn_t ) the instruction @retval 0: unimplemented @retval 1: implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_insn_reads_tbit",
"url":25,
"doc":"ev_insn_reads_tbit(self, insn, getreg, regvalues) -> int Check if insn will read the TF bit. @param insn: (const insn_t ) the instruction @param getreg: ( processor_t regval_getter_t  ) function to get register values @param regvalues: (const regval_t  ) register values array @retval 2: yes, will generate 'step' exception @retval 1: yes, will store the TF bit in memory @retval 0: no",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_clean_tbit",
"url":25,
"doc":"ev_clean_tbit(self, ea, getreg, regvalues) -> int Clear the TF bit after an insn like pushf stored it in memory. @param ea: ( ea_t) instruction address @param getreg: ( processor_t regval_getter_t  ) function to get register values @param regvalues: (const regval_t  ) register values array @retval 1: ok @retval 0: failed",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_get_reg_info",
"url":25,
"doc":"ev_get_reg_info(self, main_regname, bitrange, regname) -> int Get register information by its name. example: \"ah\" returns:  main_regname=\"eax\"  bitrange_t = { offset 8, nbits 8 } This callback may be unimplemented if the register names are all present in processor_t reg_names and they all have the same size @param main_regname: (const char  ), out @param bitrange: (bitrange_t  ), out: position and size of the value within 'main_regname' (empty bitrange  whole register) @param regname: (const char  ) @retval 1: ok @retval -1: failed (not found) @retval 0: unimplemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_update_call_stack",
"url":25,
"doc":"ev_update_call_stack(self, stack, tid, getreg, regvalues) -> int Calculate the call stack trace for the given thread. This callback is invoked when the process is suspended and should fill the 'trace' object with the information about the current call stack. Note that this callback is NOT invoked if the current debugger backend implements stack tracing via debugger_t event_t ev_update_call_stack. The debugger-specific algorithm takes priority. Implementing this callback in the processor module is useful when multiple debugging platforms follow similar patterns, and thus the same processor-specific algorithm can be used for different platforms. @param stack: (call_stack_t  ) result @param tid: (int) thread id @param getreg: ( processor_t regval_getter_t  ) function to get register values @param regvalues: (const regval_t  ) register values array @retval 1: ok @retval -1: failed @retval 0: unimplemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_setup_til",
"url":25,
"doc":"ev_setup_til(self) -> int Setup default type libraries. (called after loading a new file into the database). The processor module may load tils, setup memory model and perform other actions required to set up the type system. This is an optional callback. @retval void",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_get_abi_info",
"url":25,
"doc":"ev_get_abi_info(self, abi_names, abi_opts, comp) -> int Get all possible ABI names and optional extensions for given compiler abiname/option is a string entirely consisting of letters, digits and underscore @param abi_names: (qstrvec_t  ) - all possible ABis each in form abiname- opt1-opt2- . @param abi_opts: (qstrvec_t  ) - array of all possible options in form \"opt:description\" or opt:hint-line description @param comp: (comp_t) - compiler ID @retval 0: not implemented @retval 1: ok",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_max_ptr_size",
"url":25,
"doc":"ev_max_ptr_size(self) -> int Get maximal size of a pointer in bytes. @return: max possible size of a pointer",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_get_default_enum_size",
"url":25,
"doc":"ev_get_default_enum_size(self) -> int Get default enum size. Not generated anymore. inf_get_cc_size_e() is used instead",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_get_cc_regs",
"url":25,
"doc":"ev_get_cc_regs(self, regs, cc) -> int Get register allocation convention for given calling convention @param regs: (callregs_t  ), out @param cc: (cm_t) @retval 1 @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_get_simd_types",
"url":25,
"doc":"ev_get_simd_types(self, out, simd_attrs, argloc, create_tifs) -> int Get SIMD-related types according to given attributes ant/or argument location @param out: ( simd_info_vec_t  ) @param simd_attrs: (const simd_info_t  ), may be nullptr @param argloc: (const argloc_t  ), may be nullptr @param create_tifs: (bool) return valid tinfo_t objects, create if neccessary @retval number: of found types @retval -1: error If name nullptr, initialize all SIMD types",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_calc_cdecl_purged_bytes",
"url":25,
"doc":"ev_calc_cdecl_purged_bytes(self, ea) -> int Calculate number of purged bytes after call. @param ea: ( ea_t) address of the call instruction @return: number of purged bytes (usually add sp, N)",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_calc_purged_bytes",
"url":25,
"doc":"ev_calc_purged_bytes(self, p_purged_bytes, fti) -> int Calculate number of purged bytes by the given function type. @param p_purged_bytes: (int  ) ptr to output @param fti: (const func_type_data_t  ) func type details @retval 1 @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_calc_retloc",
"url":25,
"doc":"ev_calc_retloc(self, retloc, rettype, cc) -> int Calculate return value location. @param retloc: (argloc_t  ) @param rettype: (const tinfo_t  ) @param cc: (cm_t) @retval 0: not implemented @retval 1: ok, @retval -1: error",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_calc_arglocs",
"url":25,
"doc":"ev_calc_arglocs(self, fti) -> int Calculate function argument locations. This callback should fill retloc, all arglocs, and stkargs. This callback is never called for CM_CC_SPECIAL functions. @param fti: (func_type_data_t  ) points to the func type info @retval 0: not implemented @retval 1: ok @retval -1: error",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_calc_varglocs",
"url":25,
"doc":"ev_calc_varglocs(self, ftd, aux_regs, aux_stkargs, nfixed) -> int Calculate locations of the arguments that correspond to ' .'. @param ftd: (func_type_data_t  ), inout: info about all arguments (including varargs) @param aux_regs: (regobjs_t  ) buffer for hidden register arguments, may be nullptr @param aux_stkargs: (relobj_t  ) buffer for hidden stack arguments, may be nullptr @param nfixed: (int) number of fixed arguments @retval 0: not implemented @retval 1: ok @retval -1: error On some platforms variadic calls require passing additional information: for example, number of floating variadic arguments must be passed in rax on gcc-x64. The locations and values that constitute this additional information are returned in the buffers pointed by aux_regs and aux_stkargs",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_adjust_argloc",
"url":25,
"doc":"ev_adjust_argloc(self, argloc, optional_type, size) -> int Adjust argloc according to its type/size and platform endianess @param argloc: (argloc_t  ), inout @param type: (const tinfo_t  ), may be nullptr nullptr means primitive type of given size @param size: (int) 'size' makes no sense if type != nullptr (type->get_size() should be used instead) @retval 0: not implemented @retval 1: ok @retval -1: error",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_lower_func_type",
"url":25,
"doc":"ev_lower_func_type(self, argnums, fti) -> int Get function arguments which should be converted to pointers when lowering function prototype. The processor module can also modify 'fti' in order to make non-standard conversion of some arguments. @param argnums: (intvec_t  ), out - numbers of arguments to be converted to pointers in acsending order @param fti: (func_type_data_t  ), inout func type details @retval 0: not implemented @retval 1: argnums was filled @retval 2: argnums was filled and made substantial changes to fti argnums[0] can contain a special negative value indicating that the return value should be passed as a hidden 'retstr' argument: -1 this argument is passed as the first one and the function returns a pointer to the argument, -2 this argument is passed as the last one and the function returns a pointer to the argument, -3 this argument is passed as the first one and the function returns 'void'.",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_equal_reglocs",
"url":25,
"doc":"ev_equal_reglocs(self, a1, a2) -> int Are 2 register arglocs the same?. We need this callback for the pc module. @param a1: (argloc_t  ) @param a2: (argloc_t  ) @retval 1: yes @retval -1: no @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_use_stkarg_type",
"url":25,
"doc":"ev_use_stkarg_type(self, ea, arg) -> int Use information about a stack argument. @param ea: ( ea_t) address of the push instruction which pushes the function argument into the stack @param arg: (const funcarg_t  ) argument info @retval 1: ok @retval <=0: failed, the kernel will create a comment with the argument name or type for the instruction",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_use_regarg_type",
"url":25,
"doc":"ev_use_regarg_type(self, ea, rargs) -> PyObject  Use information about register argument. @param ea: ( ea_t) address of the instruction @param rargs: (const funcargvec_t  ) vector of register arguments (including regs extracted from scattered arguments) @retval 1 @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_use_arg_types",
"url":25,
"doc":"ev_use_arg_types(self, ea, fti, rargs) -> int Use information about callee arguments. @param ea: ( ea_t) address of the call instruction @param fti: (func_type_data_t  ) info about function type @param rargs: (funcargvec_t  ) array of register arguments @retval 1: (and removes handled arguments from fti and rargs) @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_arg_addrs_ready",
"url":25,
"doc":"ev_arg_addrs_ready(self, caller, n, tif, addrs) -> int Argument address info is ready. @param caller: ( ea_t) @param n: (int) number of formal arguments @param tif: (tinfo_t  ) call prototype @param addrs: ( ea_t  ) argument intilization addresses @retval <0: do not save into idb; other values mean \"ok to save\"",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_decorate_name",
"url":25,
"doc":"ev_decorate_name(self, name, mangle, cc, optional_type) -> PyObject  Decorate/undecorate a C symbol name. @param name: (const char  ) name of symbol @param mangle: (bool) true-mangle, false-unmangle @param cc: (cm_t) calling convention @param optional_type: tinfo_t const  @retval 1: if success @retval 0: not implemented or failed",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_arch_changed",
"url":25,
"doc":"ev_arch_changed(self) -> int The loader is done parsing arch-related information, which the processor module might want to use to finish its initialization. @retval 1: if success @retval 0: not implemented or failed",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_get_stkarg_area_info",
"url":25,
"doc":"ev_get_stkarg_area_info(self, out, cc) -> int Get some metrics of the stack argument area. @param out: (stkarg_area_info_t  ) ptr to stkarg_area_info_t @param cc: (cm_t) calling convention @retval 1: if success @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_last_cb_before_loader",
"url":25,
"doc":"ev_last_cb_before_loader(self) -> int",
"func":1
},
{
"ref":"ida_idp.IDP_Hooks.ev_loader",
"url":25,
"doc":"ev_loader(self) -> int This code and higher ones are reserved for the loaders. The arguments and the return values are defined by the loaders",
"func":1
},
{
"ref":"ida_idp.get_idp_notifier_addr",
"url":25,
"doc":"get_idp_notifier_addr(arg1) -> PyObject  @param arg1: PyObject  ",
"func":1
},
{
"ref":"ida_idp.get_idp_notifier_ud_addr",
"url":25,
"doc":"get_idp_notifier_ud_addr(hooks) -> PyObject  @param hooks: IDP_Hooks  ",
"func":1
},
{
"ref":"ida_idp.delay_slot_insn",
"url":25,
"doc":"delay_slot_insn(ea, bexec, fexec) -> bool @param ea: ea_t  @param bexec: bool  @param fexec: bool  ",
"func":1
},
{
"ref":"ida_idp.get_reg_info",
"url":25,
"doc":"get_reg_info(regname, bitrange) -> char const  @param regname: char const  @param bitrange: bitrange_t  ",
"func":1
},
{
"ref":"ida_idp.sizeof_ldbl",
"url":25,
"doc":"sizeof_ldbl() -> size_t",
"func":1
},
{
"ref":"ida_idp.processor_t",
"url":25,
"doc":"Proxy of C IDP_Hooks class. __init__(self, _flags=0, _hkcb_flags=0x0001) -> IDP_Hooks @param _flags: uint32 @param _hkcb_flags: uint32"
},
{
"ref":"ida_idp.processor_t.get_idpdesc",
"url":25,
"doc":"This function must be present and should return the list of short processor names similar to the one in ph.psnames. This method can be overridden to return to the kernel a different IDP description.",
"func":1
},
{
"ref":"ida_idp.processor_t.get_auxpref",
"url":25,
"doc":"This function returns insn.auxpref value",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_newprc",
"url":25,
"doc":"ev_newprc(self, pnum, keep_cfg) -> int Before changing processor type. @param pnum: (int) processor number in the array of processor names @param keep_cfg: (bool) true: do not modify kernel configuration @retval 1: ok @retval <0: prohibit",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_newfile",
"url":25,
"doc":"ev_newfile(self, fname) -> int A new file has been loaded. @param fname: (char  ) input file name",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_oldfile",
"url":25,
"doc":"ev_oldfile(self, fname) -> int An old file has been loaded. @param fname: (char  ) input file name",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_newbinary",
"url":25,
"doc":"ev_newbinary(self, filename, fileoff, basepara, binoff, nbytes) -> int IDA is about to load a binary file. @param filename: (char  ) binary file name @param fileoff: (qoff64_t) offset in the file @param basepara: ( ea_t) base loading paragraph @param binoff: ( ea_t) loader offset @param nbytes: ( uint64) number of bytes to load",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_endbinary",
"url":25,
"doc":"ev_endbinary(self, ok) -> int IDA has loaded a binary file. @param ok: (bool) file loaded successfully?",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_set_idp_options",
"url":25,
"doc":"ev_set_idp_options(self, keyword, value_type, value, idb_loaded) -> int Set IDP-specific configuration option Also see set_options_t in config.hpp @param keyword: (const char  ) @param value_type: (int) @param value: (const void  ) @param idb_loaded: (bool) true if the ev_oldfile/ev_newfile events have been generated @retval 1: ok @retval 0: not implemented @retval -1: error (and message in errbuf)",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_set_proc_options",
"url":25,
"doc":"ev_set_proc_options(self, options, confidence) -> int Called if the user specified an option string in the command line: -p : . Can be used for setting a processor subtype. Also called if option string is passed to set_processor_type() and IDC's SetProcessorType(). @param options: (const char  ) @param confidence: (int) 0: loader's suggestion 1: user's decision @retval <0: if bad option string",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_ana_insn",
"url":25,
"doc":"ev_ana_insn(self, out) -> bool Analyze one instruction and fill 'out' structure. This function shouldn't change the database, flags or anything else. All these actions should be performed only by emu_insn() function. insn_t ea contains address of instruction to analyze. @param out: (insn_t  ) @return: length of the instruction in bytes, 0 if instruction can't be decoded. @retval 0: if instruction can't be decoded.",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_emu_insn",
"url":25,
"doc":"ev_emu_insn(self, insn) -> bool Emulate instruction, create cross-references, plan to analyze subsequent instructions, modify flags etc. Upon entrance to this function, all information about the instruction is in 'insn' structure. @param insn: (const insn_t  ) @retval 1: ok @retval -1: the kernel will delete the instruction",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_out_header",
"url":25,
"doc":"ev_out_header(self, outctx) -> int Function to produce start of disassembled text @param outctx: (outctx_t  ) @retval void",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_out_footer",
"url":25,
"doc":"ev_out_footer(self, outctx) -> int Function to produce end of disassembled text @param outctx: (outctx_t  ) @retval void",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_out_segstart",
"url":25,
"doc":"ev_out_segstart(self, outctx, seg) -> int Function to produce start of segment @param outctx: (outctx_t  ) @param seg: (segment_t  ) @retval 1: ok @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_out_segend",
"url":25,
"doc":"ev_out_segend(self, outctx, seg) -> int Function to produce end of segment @param outctx: (outctx_t  ) @param seg: (segment_t  ) @retval 1: ok @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_out_assumes",
"url":25,
"doc":"ev_out_assumes(self, outctx) -> int Function to produce assume directives when segment register value changes. @param outctx: (outctx_t  ) @retval 1: ok @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_out_insn",
"url":25,
"doc":"ev_out_insn(self, outctx) -> bool Generate text representation of an instruction in 'ctx.insn' outctx_t provides functions to output the generated text. This function shouldn't change the database, flags or anything else. All these actions should be performed only by emu_insn() function. @param outctx: (outctx_t  ) @retval void",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_out_mnem",
"url":25,
"doc":"ev_out_mnem(self, outctx) -> int Generate instruction mnemonics. This callback should append the colored mnemonics to ctx.outbuf Optional notification, if absent, out_mnem will be called. @param outctx: (outctx_t  ) @retval 1: if appended the mnemonics @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_out_operand",
"url":25,
"doc":"ev_out_operand(self, outctx, op) -> bool Generate text representation of an instruction operand outctx_t provides functions to output the generated text. All these actions should be performed only by emu_insn() function. @param outctx: (outctx_t  ) @param op: (const op_t  ) @retval 1: ok @retval -1: operand is hidden",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_out_data",
"url":25,
"doc":"ev_out_data(self, outctx, analyze_only) -> int Generate text representation of data items This function may change the database and create cross-references if analyze_only is set @param outctx: (outctx_t  ) @param analyze_only: (bool) @retval 1: ok @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_out_label",
"url":25,
"doc":"ev_out_label(self, outctx, colored_name) -> int The kernel is going to generate an instruction label line or a function header. @param outctx: (outctx_t  ) @param colored_name: (const char  ) @retval <0: if the kernel should not generate the label @retval 0: not implemented or continue",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_out_special_item",
"url":25,
"doc":"ev_out_special_item(self, outctx, segtype) -> int Generate text representation of an item in a special segment i.e. absolute symbols, externs, communal definitions etc @param outctx: (outctx_t  ) @param segtype: (uchar) @retval 1: ok @retval 0: not implemented @retval -1: overflow",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_gen_regvar_def",
"url":25,
"doc":"ev_gen_regvar_def(self, outctx, v) -> int Generate register variable definition line. @param outctx: (outctx_t  ) @param v: (regvar_t  ) @retval >0: ok, generated the definition text @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_gen_src_file_lnnum",
"url":25,
"doc":"ev_gen_src_file_lnnum(self, outctx, file, lnnum) -> int @param outctx: (outctx_t  ) output context @param file: (const char  ) source file (may be nullptr) @param lnnum: (size_t) line number @retval 1: directive has been generated @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_creating_segm",
"url":25,
"doc":"ev_creating_segm(self, seg) -> int A new segment is about to be created. @param seg: (segment_t  ) @retval 1: ok @retval <0: segment should not be created",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_moving_segm",
"url":25,
"doc":"ev_moving_segm(self, seg, to, flags) -> int May the kernel move the segment? @param seg: (segment_t  ) segment to move @param to: ( ea_t) new segment start address @param flags: (int) combination of Move segment flags @retval 0: yes @retval <0: the kernel should stop",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_coagulate",
"url":25,
"doc":"ev_coagulate(self, start_ea) -> int Try to define some unexplored bytes. This notification will be called if the kernel tried all possibilities and could not find anything more useful than to convert to array of bytes. The module can help the kernel and convert the bytes into something more useful. @param start_ea: ( ea_t) @return: number of converted bytes",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_undefine",
"url":25,
"doc":"ev_undefine(self, ea) -> int An item in the database (insn or data) is being deleted. @param ea: (ea_t) @retval 1: do not delete srranges at the item end @retval 0: srranges can be deleted",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_treat_hindering_item",
"url":25,
"doc":"ev_treat_hindering_item(self, hindering_item_ea, new_item_flags, new_item_ea, new_item_length) -> int An item hinders creation of another item. @param hindering_item_ea: ( ea_t) @param new_item_flags: (flags64_t) (0 for code) @param new_item_ea: ( ea_t) @param new_item_length: ( asize_t) @retval 0: no reaction @retval !=0: the kernel may delete the hindering item",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_rename",
"url":25,
"doc":"ev_rename(self, ea, new_name) -> int The kernel is going to rename a byte. @param ea: ( ea_t) @param new_name: (const char  ) @retval <0: if the kernel should not rename it. @retval 2: to inhibit the notification. I.e., the kernel should not rename, but 'set_name()' should return 'true'. also see renamed the return value is ignored when kernel is going to delete name",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_is_far_jump",
"url":25,
"doc":"ev_is_far_jump(self, icode) -> int is indirect far jump or call instruction? meaningful only if the processor has 'near' and 'far' reference types @param icode: (int) @retval 0: not implemented @retval 1: yes @retval -1: no",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_is_sane_insn",
"url":25,
"doc":"ev_is_sane_insn(self, insn, no_crefs) -> int Is the instruction sane for the current file type?. @param insn: (const insn_t ) the instruction @param no_crefs: (int) 1: the instruction has no code refs to it. ida just tries to convert unexplored bytes to an instruction (but there is no other reason to convert them into an instruction) 0: the instruction is created because of some coderef, user request or another weighty reason. @retval >=0: ok @retval <0: no, the instruction isn't likely to appear in the program",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_is_call_insn",
"url":25,
"doc":"ev_is_call_insn(self, insn) -> int Is the instruction a \"call\"? @param insn: (const insn_t  ) instruction @retval 0: unknown @retval <0: no @retval 1: yes",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_is_ret_insn",
"url":25,
"doc":"ev_is_ret_insn(self, insn, flags) -> int Is the instruction a \"return\"? @param insn: (const insn_t  ) instruction @param flags: (uchar), combination of IRI_ . flags (see above) @retval 0: unknown @retval <0: no @retval 1: yes",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_may_be_func",
"url":25,
"doc":"ev_may_be_func(self, insn, state) -> int Can a function start here? @param insn: (const insn_t ) the instruction @param state: (int) autoanalysis phase 0: creating functions 1: creating chunks @return: probability 1 100 @note: Actually IDA uses 3 intervals of a probability: 0 50 not a function, 51 99 a function (IDA needs another proof), 100 a function (no other proofs needed)",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_is_basic_block_end",
"url":25,
"doc":"ev_is_basic_block_end(self, insn, call_insn_stops_block) -> int Is the current instruction end of a basic block?. This function should be defined for processors with delayed jump slots. @param insn: (const insn_t ) the instruction @param call_insn_stops_block: (bool) @retval 0: unknown @retval <0: no @retval 1: yes",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_is_indirect_jump",
"url":25,
"doc":"ev_is_indirect_jump(self, insn) -> int Determine if instruction is an indirect jump. If CF_JUMP bit cannot describe all jump types jumps, please define this callback. @param insn: (const insn_t ) the instruction @retval 0: use CF_JUMP @retval 1: no @retval 2: yes",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_is_insn_table_jump",
"url":25,
"doc":"ev_is_insn_table_jump(self) -> int Reserved.",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_is_switch",
"url":25,
"doc":"ev_is_switch(self, si, insn) -> int Find 'switch' idiom or override processor module's decision. It will be called for instructions marked with CF_JUMP. @param si: (switch_info_t  ), out @param insn: (const insn_t  ) instruction possibly belonging to a switch @retval 1: switch is found, 'si' is filled. IDA will create the switch using the filled 'si' @retval -1: no switch found. This value forbids switch creation by the processor module @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_create_switch_xrefs",
"url":25,
"doc":"ev_create_switch_xrefs(self, jumpea, si) -> int Create xrefs for a custom jump table. @param jumpea: ( ea_t) address of the jump insn @param si: (const switch_info_t  ) switch information @return: must return 1 Must be implemented if module uses custom jump tables, SWI_CUSTOM",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_is_align_insn",
"url":25,
"doc":"ev_is_align_insn(self, ea) -> int Is the instruction created only for alignment purposes?. Do not directly call this function, use is_align_insn() @param ea: (ea_t) - instruction address @retval number: of bytes in the instruction",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_is_alloca_probe",
"url":25,
"doc":"ev_is_alloca_probe(self, ea) -> int Does the function at 'ea' behave as __alloca_probe? @param ea: ( ea_t) @retval 1: yes @retval 0: no",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_is_sp_based",
"url":25,
"doc":"ev_is_sp_based(self, mode, insn, op) -> int Check whether the operand is relative to stack pointer or frame pointer This event is used to determine how to output a stack variable If not implemented, then all operands are sp based by default. Implement this event only if some stack references use frame pointer instead of stack pointer. @param mode: (int  ) out, combination of SP/FP operand flags @param insn: (const insn_t  ) @param op: (const op_t  ) @retval 0: not implemented @retval 1: ok",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_can_have_type",
"url":25,
"doc":"ev_can_have_type(self, op) -> int Can the operand have a type as offset, segment, decimal, etc? (for example, a register AX can't have a type, meaning that the user can't change its representation. see bytes.hpp for information about types and flags) @param op: (const op_t  ) @retval 0: unknown @retval <0: no @retval 1: yes",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_cmp_operands",
"url":25,
"doc":"ev_cmp_operands(self, op1, op2) -> int Compare instruction operands @param op1: (const op_t ) @param op2: (const op_t ) @retval 1: equal @retval -1: not equal @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_get_operand_string",
"url":25,
"doc":"ev_get_operand_string(self, insn, opnum) -> PyObject  Request text string for operand (cli, java,  .). @param insn: (const insn_t ) the instruction @param opnum: (int) operand number, -1 means any string operand @retval 0: no string (or empty string) @retval >0: original string length without terminating zero",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_str2reg",
"url":25,
"doc":"ev_str2reg(self, regname) -> int Convert a register name to a register number. The register number is the register index in the processor_t reg_names array Most processor modules do not need to implement this callback It is useful only if processor_t reg_names[reg] does not provide the correct register names @param regname: (const char  ) @retval register: number + 1 @retval 0: not implemented or could not be decoded",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_get_autocmt",
"url":25,
"doc":"ev_get_autocmt(self, insn) -> PyObject  @param insn: (const insn_t ) the instruction @retval 1: new comment has been generated @retval 0: callback has not been handled. the buffer must not be changed in this case",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_func_bounds",
"url":25,
"doc":"ev_func_bounds(self, possible_return_code, pfn, max_func_end_ea) -> int find_func_bounds() finished its work. The module may fine tune the function bounds @param possible_return_code: (int  ), in/out @param pfn: (func_t  ) @param max_func_end_ea: ( ea_t) (from the kernel's point of view) @retval void",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_verify_sp",
"url":25,
"doc":"ev_verify_sp(self, pfn) -> int All function instructions have been analyzed. Now the processor module can analyze the stack pointer for the whole function @param pfn: (func_t  ) @retval 0: ok @retval <0: bad stack pointer",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_verify_noreturn",
"url":25,
"doc":"ev_verify_noreturn(self, pfn) -> int The kernel wants to set 'noreturn' flags for a function. @param pfn: (func_t  ) @retval 0: ok. any other value: do not set 'noreturn' flag",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_create_func_frame",
"url":25,
"doc":"ev_create_func_frame(self, pfn) -> int Create a function frame for a newly created function Set up frame size, its attributes etc @param pfn: (func_t  ) @retval 1: ok @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_get_frame_retsize",
"url":25,
"doc":"ev_get_frame_retsize(self, frsize, pfn) -> int Get size of function return address in bytes If this event is not implemented, the kernel will assume  8 bytes for 64-bit function  4 bytes for 32-bit function  2 bytes otherwise @param frsize: (int  ) frame size (out) @param pfn: (const func_t  ), can't be nullptr @retval 1: ok @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_coagulate_dref",
"url":25,
"doc":"ev_coagulate_dref(self, _from, to, may_define, code_ea) -> int Data reference is being analyzed. plugin may correct 'code_ea' (e.g. for thumb mode refs, we clear the last bit) @param from: ( ea_t) @param to: ( ea_t) @param may_define: (bool) @param code_ea: ( ea_t  ) @retval  0 done dref analysis @retval 0: not implemented or continue",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_may_show_sreg",
"url":25,
"doc":"ev_may_show_sreg(self, current_ea) -> int The kernel wants to display the segment registers in the messages window. @param current_ea: ( ea_t) @retval <0: if the kernel should not show the segment registers. (assuming that the module has done it) @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_auto_queue_empty",
"url":25,
"doc":"ev_auto_queue_empty(self, type) -> int One analysis queue is empty. @param type: (atype_t) @retval void: see also idb_event auto_empty_finally",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_validate_flirt_func",
"url":25,
"doc":"ev_validate_flirt_func(self, start_ea, funcname) -> int Flirt has recognized a library function. This callback can be used by a plugin or proc module to intercept it and validate such a function. @param start_ea: ( ea_t) @param funcname: (const char  ) @retval -1: do not create a function, @retval 0: function is validated",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_assemble",
"url":25,
"doc":"ev_assemble(self, ea, cs, ip, use32, line) -> PyObject  Assemble an instruction. (display a warning if an error is found). @param ea: ( ea_t) linear address of instruction @param cs: ( ea_t) cs of instruction @param ip: ( ea_t) ip of instruction @param use32: (bool) is 32bit segment? @param line: (const char  ) line to assemble @return: size of the instruction in bytes",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_gen_map_file",
"url":25,
"doc":"ev_gen_map_file(self, nlines, fp) -> int Generate map file. If not implemented the kernel itself will create the map file. @param nlines: (int  ) number of lines in map file (-1 means write error) @param fp: (FILE  ) output file @retval 0: not implemented @retval 1: ok @retval -1: write error",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_calc_step_over",
"url":25,
"doc":"ev_calc_step_over(self, target, ip) -> int Calculate the address of the instruction which will be executed after \"step over\". The kernel will put a breakpoint there. If the step over is equal to step into or we cannot calculate the address, return BADADDR. @param target: ( ea_t  ) pointer to the answer @param ip: ( ea_t) instruction address @retval 0: unimplemented @retval 1: implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.closebase",
"url":25,
"doc":"",
"func":1
},
{
"ref":"ida_idp.processor_t.savebase",
"url":25,
"doc":"",
"func":1
},
{
"ref":"ida_idp.processor_t.auto_empty",
"url":25,
"doc":"",
"func":1
},
{
"ref":"ida_idp.processor_t.auto_empty_finally",
"url":25,
"doc":"",
"func":1
},
{
"ref":"ida_idp.processor_t.determined_main",
"url":25,
"doc":"",
"func":1
},
{
"ref":"ida_idp.processor_t.idasgn_loaded",
"url":25,
"doc":"",
"func":1
},
{
"ref":"ida_idp.processor_t.kernel_config_loaded",
"url":25,
"doc":"",
"func":1
},
{
"ref":"ida_idp.processor_t.compiler_changed",
"url":25,
"doc":"",
"func":1
},
{
"ref":"ida_idp.processor_t.segm_moved",
"url":25,
"doc":"",
"func":1
},
{
"ref":"ida_idp.processor_t.func_added",
"url":25,
"doc":"",
"func":1
},
{
"ref":"ida_idp.processor_t.set_func_start",
"url":25,
"doc":"",
"func":1
},
{
"ref":"ida_idp.processor_t.set_func_end",
"url":25,
"doc":"",
"func":1
},
{
"ref":"ida_idp.processor_t.deleting_func",
"url":25,
"doc":"",
"func":1
},
{
"ref":"ida_idp.processor_t.sgr_changed",
"url":25,
"doc":"",
"func":1
},
{
"ref":"ida_idp.processor_t.make_code",
"url":25,
"doc":"",
"func":1
},
{
"ref":"ida_idp.processor_t.make_data",
"url":25,
"doc":"",
"func":1
},
{
"ref":"ida_idp.processor_t.renamed",
"url":25,
"doc":"",
"func":1
},
{
"ref":"ida_idp.processor_t.thisown",
"url":25,
"doc":"The membership flag"
},
{
"ref":"ida_idp.processor_t.hook",
"url":25,
"doc":"hook(self) -> bool",
"func":1
},
{
"ref":"ida_idp.processor_t.unhook",
"url":25,
"doc":"unhook(self) -> bool",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_init",
"url":25,
"doc":"ev_init(self, idp_modname) -> int The IDP module is just loaded. @param idp_modname: (const char  ) processor module name @retval <0: on failure",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_term",
"url":25,
"doc":"ev_term(self) -> int The IDP module is being unloaded.",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_newasm",
"url":25,
"doc":"ev_newasm(self, asmnum) -> int Before setting a new assembler. @param asmnum: (int) See also ev_asm_installed",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_is_cond_insn",
"url":25,
"doc":"ev_is_cond_insn(self, insn) -> int Is conditional instruction? @param insn: (const insn_t  ) instruction address @retval 1: yes @retval -1: no @retval 0: not implemented or not instruction",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_calc_switch_cases",
"url":25,
"doc":"ev_calc_switch_cases(self, casevec, targets, insn_ea, si) -> int Calculate case values and targets for a custom jump table. @param casevec: ( casevec_t  ) vector of case values (may be nullptr) @param targets: (eavec_t  ) corresponding target addresses (my be nullptr) @param insn_ea: ( ea_t) address of the 'indirect jump' instruction @param si: (switch_info_t  ) switch information @retval 1: ok @retval <=0: failed",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_delay_slot_insn",
"url":25,
"doc":"ev_delay_slot_insn(self, ea, bexec, fexec) -> PyObject  Get delay slot instruction @param ea: ( ea_t  ) in: instruction address in question, out: (if the answer is positive) if the delay slot contains valid insn: the address of the delay slot insn else: BADADDR (invalid insn, e.g. a branch) @param bexec: (bool  ) execute slot if jumping, initially set to 'true' @param fexec: (bool  ) execute slot if not jumping, initally set to 'true' @retval 1: positive answer @retval <=0: ordinary insn @note: Input EA may point to the instruction with a delay slot or to the delay slot instruction itself.",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_adjust_refinfo",
"url":25,
"doc":"ev_adjust_refinfo(self, ri, ea, n, fd) -> int Called from apply_fixup before converting operand to reference. Can be used for changing the reference info. (e.g. the PPC module adds REFINFO_NOBASE for some references) @param ri: (refinfo_t  ) @param ea: ( ea_t) instruction address @param n: (int) operand number @param fd: (const fixup_data_t  ) @retval <0: do not create an offset @retval 0: not implemented or refinfo adjusted",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_get_reg_name",
"url":25,
"doc":"ev_get_reg_name(self, reg, width, reghi) -> PyObject  Generate text representation of a register. Most processor modules do not need to implement this callback. It is useful only if processor_t reg_names[reg] does not provide the correct register name. @param reg: (int) internal register number as defined in the processor module @param width: (size_t) register width in bytes @param reghi: (int) if not -1 then this function will return the register pair @retval -1: if error @retval strlen(buf): if success",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_get_bg_color",
"url":25,
"doc":"ev_get_bg_color(self, color, ea) -> int Get item background color. Plugins can hook this callback to color disassembly lines dynamically @param color: (bgcolor_t  ), out @param ea: ( ea_t) @retval 0: not implemented @retval 1: color set",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_is_jump_func",
"url":25,
"doc":"ev_is_jump_func(self, pfn, jump_target, func_pointer) -> int Is the function a trivial \"jump\" function?. @param pfn: (func_t  ) @param jump_target: ( ea_t  ) @param func_pointer: ( ea_t  ) @retval <0: no @retval 0: don't know @retval 1: yes, see 'jump_target' and 'func_pointer'",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_get_stkvar_scale_factor",
"url":25,
"doc":"ev_get_stkvar_scale_factor(self) -> int Should stack variable references be multiplied by a coefficient before being used in the stack frame?. Currently used by TMS320C55 because the references into the stack should be multiplied by 2 @return: scaling factor @retval 0: not implemented @note: PR_SCALE_STKVARS should be set to use this callback",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_demangle_name",
"url":25,
"doc":"ev_demangle_name(self, name, disable_mask, demreq) -> PyObject  Demangle a C (or another language) name into a user-readable string. This event is called by demangle_name() @param name: (const char  ) mangled name @param disable_mask: (uint32) flags to inhibit parts of output or compiler info/other (see MNG_) @param demreq: (demreq_type_t) operation to perform @retval 1: if success @retval 0: not implemented @note: if you call demangle_name() from the handler, protect against recursion!",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_add_cref",
"url":25,
"doc":"ev_add_cref(self, _from, to, type) -> int A code reference is being created. @param from: ( ea_t) @param to: ( ea_t) @param type: (cref_t) @retval <0: cancel cref creation @retval 0: not implemented or continue",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_add_dref",
"url":25,
"doc":"ev_add_dref(self, _from, to, type) -> int A data reference is being created. @param from: ( ea_t) @param to: ( ea_t) @param type: (dref_t) @retval <0: cancel dref creation @retval 0: not implemented or continue",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_del_cref",
"url":25,
"doc":"ev_del_cref(self, _from, to, expand) -> int A code reference is being deleted. @param from: ( ea_t) @param to: ( ea_t) @param expand: (bool) @retval <0: cancel cref deletion @retval 0: not implemented or continue",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_del_dref",
"url":25,
"doc":"ev_del_dref(self, _from, to) -> int A data reference is being deleted. @param from: ( ea_t) @param to: ( ea_t) @retval <0: cancel dref deletion @retval 0: not implemented or continue",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_adjust_libfunc_ea",
"url":25,
"doc":"ev_adjust_libfunc_ea(self, sig, libfun, ea) -> int Called when a signature module has been matched against bytes in the database. This is used to compute the offset at which a particular module's libfunc should be applied. @param sig: (const idasgn_t  ) @param libfun: (const libfunc_t  ) @param ea: ( ea_t  ) @note: 'ea' initially contains the ea_t of the start of the pattern match @retval 1: the ea_t pointed to by the third argument was modified. @retval <=0: not modified. use default algorithm.",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_extract_address",
"url":25,
"doc":"ev_extract_address(self, out_ea, screen_ea, string, position) -> int Extract address from a string. @param out_ea: (ea_t  ), out @param screen_ea: (ea_t) @param string: (const char  ) @param position: (size_t) @retval 1: ok @retval 0: kernel should use the standard algorithm @retval -1: error",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_realcvt",
"url":25,
"doc":"ev_realcvt(self, m, e, swt) -> int Floating point -> IEEE conversion @param m: (void  ) ptr to processor-specific floating point value @param e: (fpvalue_t  ) IDA representation of a floating point value @param swt: (uint16) operation (see realcvt() in ieee.h) @retval 0: not implemented @retval unknown",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_gen_asm_or_lst",
"url":25,
"doc":"ev_gen_asm_or_lst(self, starting, fp, is_asm, flags, outline) -> int @param starting: (bool) beginning listing generation @param fp: (FILE  ) output file @param is_asm: (bool) true:assembler, false:listing @param flags: (int) flags passed to gen_file() @param outline: (html_line_cb_t  ) ptr to ptr to outline callback. if this callback is defined for this code, it will be used by the kernel to output the generated lines @retval void",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_create_flat_group",
"url":25,
"doc":"ev_create_flat_group(self, image_base, bitness, dataseg_sel) -> int Create special segment representing the flat group. @param image_base: ( ea_t) @param bitness: (int) @param dataseg_sel: ( sel_t) return value is ignored",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_getreg",
"url":25,
"doc":"ev_getreg(self, regval, regnum) -> int IBM PC only internal request, should never be used for other purpose Get register value by internal index @param regval: (uval_t  ), out @param regnum: (int) @retval 1: ok @retval 0: not implemented @retval -1: failed (undefined value or bad regnum)",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_analyze_prolog",
"url":25,
"doc":"ev_analyze_prolog(self, ea) -> int Analyzes function prolog, epilog, and updates purge, and function attributes @param ea: ( ea_t) start of function @retval 1: ok @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_calc_spdelta",
"url":25,
"doc":"ev_calc_spdelta(self, spdelta, insn) -> int Calculate amount of change to sp for the given insn. This event is required to decompile code snippets. @param spdelta: (sval_t  ) @param insn: (const insn_t  ) @retval 1: ok @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_calcrel",
"url":25,
"doc":"ev_calcrel(self) -> int Reserved.",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_find_reg_value",
"url":25,
"doc":"ev_find_reg_value(self, pinsn, reg) -> PyObject  Find register value via a register tracker. The returned value in 'out' is valid before executing the instruction. @param pinsn: (const insn_t  ) instruction @param reg: (int) register index @retval 1: if implemented, and value was found @retval 0: not implemented, -1 decoding failed, or no value found",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_find_op_value",
"url":25,
"doc":"ev_find_op_value(self, pinsn, opn) -> PyObject  Find operand value via a register tracker. The returned value in 'out' is valid before executing the instruction. @param pinsn: (const insn_t  ) instruction @param opn: (int) operand index @retval 1: if implemented, and value was found @retval 0: not implemented, -1 decoding failed, or no value found",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_replaying_undo",
"url":25,
"doc":"ev_replaying_undo(self, action_name, vec, is_undo) -> int Replaying an undo/redo buffer @param action_name: (const char  ) action that we perform undo/redo for. may be nullptr for intermediary buffers. @param vec: (const undo_records_t  ) @param is_undo: (bool) true if performing undo, false if performing redo This event may be generated multiple times per undo/redo",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_ending_undo",
"url":25,
"doc":"ev_ending_undo(self, action_name, is_undo) -> int Ended undoing/redoing an action @param action_name: (const char  ) action that we finished undoing/redoing. is not nullptr. @param is_undo: (bool) true if performing undo, false if performing redo",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_set_code16_mode",
"url":25,
"doc":"ev_set_code16_mode(self, ea, code16) -> int Some processors have ISA 16-bit mode e.g. ARM Thumb mode, PPC VLE, MIPS16 Set ISA 16-bit mode @param ea: (ea_t) address to set new ISA mode @param code16: (bool) true for 16-bit mode, false for 32-bit mode",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_get_code16_mode",
"url":25,
"doc":"ev_get_code16_mode(self, ea) -> int Get ISA 16-bit mode @param ea: (ea_t) address to get the ISA mode @retval 1: 16-bit mode @retval 0: not implemented or 32-bit mode",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_get_procmod",
"url":25,
"doc":"ev_get_procmod(self) -> int Get pointer to the processor module object. All processor modules must implement this. The pointer is returned as size_t.",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_asm_installed",
"url":25,
"doc":"ev_asm_installed(self, asmnum) -> int After setting a new assembler @param asmnum: (int) See also ev_newasm",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_get_reg_accesses",
"url":25,
"doc":"ev_get_reg_accesses(self, accvec, insn, flags) -> int Get info about the registers that are used/changed by an instruction. @param accvec: (reg_accesses_t ) out: info about accessed registers @param insn: (const insn_t  ) instruction in question @param flags: (int) reserved, must be 0 @retval -1: if accvec is nullptr @retval 1: found the requested access (and filled accvec) @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_is_control_flow_guard",
"url":25,
"doc":"ev_is_control_flow_guard(self, p_reg, insn) -> int Detect if an instruction is a \"thunk call\" to a flow guard function (equivalent to call reg/return/nop) @param p_reg: (int  ) indirect register number, may be -1 @param insn: (const insn_t  ) call/jump instruction @retval -1: no thunk detected @retval 1: indirect call @retval 2: security check routine call (NOP) @retval 3: return thunk @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_create_merge_handlers",
"url":25,
"doc":"ev_create_merge_handlers(self, md) -> int Create merge handlers, if needed @param md: (merge_data_t  ) This event is generated immediately after opening idbs. @return: must be 0",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_privrange_changed",
"url":25,
"doc":"ev_privrange_changed(self, old_privrange, delta) -> int Privrange interval has been moved to a new location. Most common actions to be done by module in this case: fix indices of netnodes used by module @param old_privrange: (const range_t  ) - old privrange interval @param delta: ( adiff_t) @return: 0 Ok -1 error (and message in errbuf)",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_cvt64_supval",
"url":25,
"doc":"ev_cvt64_supval(self, node, tag, idx, data) -> int perform 32-64 conversion for a netnode array element @param node: ( nodeidx_t) @param tag: (uchar) @param idx: ( nodeidx_t) @param data: (const uchar  ) @return: 0 nothing was done 1 converted successfully -1 error (and message in errbuf)",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_cvt64_hashval",
"url":25,
"doc":"ev_cvt64_hashval(self, node, tag, name, data) -> int perform 32-64 conversion for a hash value @param node: ( nodeidx_t) @param tag: (uchar) @param name: (const  char  ) @param data: (const uchar  ) @return: 0 nothing was done 1 converted successfully -1 error (and message in errbuf)",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_gen_stkvar_def",
"url":25,
"doc":"ev_gen_stkvar_def(self, outctx, stkvar, v, tid) -> int Generate stack variable definition line Default line is varname = type ptr value, where 'type' is one of byte,word,dword,qword,tbyte @param outctx: (outctx_t  ) @param stkvar: (const udm_t  ) @param v: (sval_t) @param tid: (tid_t) stkvar TID @retval 1: ok @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_next_exec_insn",
"url":25,
"doc":"ev_next_exec_insn(self, target, ea, tid, getreg, regvalues) -> int Get next address to be executed This function must return the next address to be executed. If the instruction following the current one is executed, then it must return BADADDR Usually the instructions to consider are: jumps, branches, calls, returns. This function is essential if the 'single step' is not supported in hardware. @param target: ( ea_t  ), out: pointer to the answer @param ea: ( ea_t) instruction address @param tid: (int) current therad id @param getreg: ( processor_t regval_getter_t  ) function to get register values @param regvalues: (const regval_t  ) register values array @retval 0: unimplemented @retval 1: implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_calc_next_eas",
"url":25,
"doc":"ev_calc_next_eas(self, res, insn, over) -> int Calculate list of addresses the instruction in 'insn' may pass control to. This callback is required for source level debugging. @param res: (eavec_t  ), out: array for the results. @param insn: (const insn_t ) the instruction @param over: (bool) calculate for step over (ignore call targets) @retval  =0: number of addresses of called functions in the array. They must be put at the beginning of the array (0 if over=true)",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_get_macro_insn_head",
"url":25,
"doc":"ev_get_macro_insn_head(self, head, ip) -> int Calculate the start of a macro instruction. This notification is called if IP points to the middle of an instruction @param head: ( ea_t  ), out: answer, BADADDR means normal instruction @param ip: ( ea_t) instruction address @retval 0: unimplemented @retval 1: implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_get_dbr_opnum",
"url":25,
"doc":"ev_get_dbr_opnum(self, opnum, insn) -> int Get the number of the operand to be displayed in the debugger reference view (text mode). @param opnum: (int  ) operand number (out, -1 means no such operand) @param insn: (const insn_t ) the instruction @retval 0: unimplemented @retval 1: implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_insn_reads_tbit",
"url":25,
"doc":"ev_insn_reads_tbit(self, insn, getreg, regvalues) -> int Check if insn will read the TF bit. @param insn: (const insn_t ) the instruction @param getreg: ( processor_t regval_getter_t  ) function to get register values @param regvalues: (const regval_t  ) register values array @retval 2: yes, will generate 'step' exception @retval 1: yes, will store the TF bit in memory @retval 0: no",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_clean_tbit",
"url":25,
"doc":"ev_clean_tbit(self, ea, getreg, regvalues) -> int Clear the TF bit after an insn like pushf stored it in memory. @param ea: ( ea_t) instruction address @param getreg: ( processor_t regval_getter_t  ) function to get register values @param regvalues: (const regval_t  ) register values array @retval 1: ok @retval 0: failed",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_get_reg_info",
"url":25,
"doc":"ev_get_reg_info(self, main_regname, bitrange, regname) -> int Get register information by its name. example: \"ah\" returns:  main_regname=\"eax\"  bitrange_t = { offset 8, nbits 8 } This callback may be unimplemented if the register names are all present in processor_t reg_names and they all have the same size @param main_regname: (const char  ), out @param bitrange: (bitrange_t  ), out: position and size of the value within 'main_regname' (empty bitrange  whole register) @param regname: (const char  ) @retval 1: ok @retval -1: failed (not found) @retval 0: unimplemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_update_call_stack",
"url":25,
"doc":"ev_update_call_stack(self, stack, tid, getreg, regvalues) -> int Calculate the call stack trace for the given thread. This callback is invoked when the process is suspended and should fill the 'trace' object with the information about the current call stack. Note that this callback is NOT invoked if the current debugger backend implements stack tracing via debugger_t event_t ev_update_call_stack. The debugger-specific algorithm takes priority. Implementing this callback in the processor module is useful when multiple debugging platforms follow similar patterns, and thus the same processor-specific algorithm can be used for different platforms. @param stack: (call_stack_t  ) result @param tid: (int) thread id @param getreg: ( processor_t regval_getter_t  ) function to get register values @param regvalues: (const regval_t  ) register values array @retval 1: ok @retval -1: failed @retval 0: unimplemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_setup_til",
"url":25,
"doc":"ev_setup_til(self) -> int Setup default type libraries. (called after loading a new file into the database). The processor module may load tils, setup memory model and perform other actions required to set up the type system. This is an optional callback. @retval void",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_get_abi_info",
"url":25,
"doc":"ev_get_abi_info(self, abi_names, abi_opts, comp) -> int Get all possible ABI names and optional extensions for given compiler abiname/option is a string entirely consisting of letters, digits and underscore @param abi_names: (qstrvec_t  ) - all possible ABis each in form abiname- opt1-opt2- . @param abi_opts: (qstrvec_t  ) - array of all possible options in form \"opt:description\" or opt:hint-line description @param comp: (comp_t) - compiler ID @retval 0: not implemented @retval 1: ok",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_max_ptr_size",
"url":25,
"doc":"ev_max_ptr_size(self) -> int Get maximal size of a pointer in bytes. @return: max possible size of a pointer",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_get_default_enum_size",
"url":25,
"doc":"ev_get_default_enum_size(self) -> int Get default enum size. Not generated anymore. inf_get_cc_size_e() is used instead",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_get_cc_regs",
"url":25,
"doc":"ev_get_cc_regs(self, regs, cc) -> int Get register allocation convention for given calling convention @param regs: (callregs_t  ), out @param cc: (cm_t) @retval 1 @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_get_simd_types",
"url":25,
"doc":"ev_get_simd_types(self, out, simd_attrs, argloc, create_tifs) -> int Get SIMD-related types according to given attributes ant/or argument location @param out: ( simd_info_vec_t  ) @param simd_attrs: (const simd_info_t  ), may be nullptr @param argloc: (const argloc_t  ), may be nullptr @param create_tifs: (bool) return valid tinfo_t objects, create if neccessary @retval number: of found types @retval -1: error If name nullptr, initialize all SIMD types",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_calc_cdecl_purged_bytes",
"url":25,
"doc":"ev_calc_cdecl_purged_bytes(self, ea) -> int Calculate number of purged bytes after call. @param ea: ( ea_t) address of the call instruction @return: number of purged bytes (usually add sp, N)",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_calc_purged_bytes",
"url":25,
"doc":"ev_calc_purged_bytes(self, p_purged_bytes, fti) -> int Calculate number of purged bytes by the given function type. @param p_purged_bytes: (int  ) ptr to output @param fti: (const func_type_data_t  ) func type details @retval 1 @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_calc_retloc",
"url":25,
"doc":"ev_calc_retloc(self, retloc, rettype, cc) -> int Calculate return value location. @param retloc: (argloc_t  ) @param rettype: (const tinfo_t  ) @param cc: (cm_t) @retval 0: not implemented @retval 1: ok, @retval -1: error",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_calc_arglocs",
"url":25,
"doc":"ev_calc_arglocs(self, fti) -> int Calculate function argument locations. This callback should fill retloc, all arglocs, and stkargs. This callback is never called for CM_CC_SPECIAL functions. @param fti: (func_type_data_t  ) points to the func type info @retval 0: not implemented @retval 1: ok @retval -1: error",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_calc_varglocs",
"url":25,
"doc":"ev_calc_varglocs(self, ftd, aux_regs, aux_stkargs, nfixed) -> int Calculate locations of the arguments that correspond to ' .'. @param ftd: (func_type_data_t  ), inout: info about all arguments (including varargs) @param aux_regs: (regobjs_t  ) buffer for hidden register arguments, may be nullptr @param aux_stkargs: (relobj_t  ) buffer for hidden stack arguments, may be nullptr @param nfixed: (int) number of fixed arguments @retval 0: not implemented @retval 1: ok @retval -1: error On some platforms variadic calls require passing additional information: for example, number of floating variadic arguments must be passed in rax on gcc-x64. The locations and values that constitute this additional information are returned in the buffers pointed by aux_regs and aux_stkargs",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_adjust_argloc",
"url":25,
"doc":"ev_adjust_argloc(self, argloc, optional_type, size) -> int Adjust argloc according to its type/size and platform endianess @param argloc: (argloc_t  ), inout @param type: (const tinfo_t  ), may be nullptr nullptr means primitive type of given size @param size: (int) 'size' makes no sense if type != nullptr (type->get_size() should be used instead) @retval 0: not implemented @retval 1: ok @retval -1: error",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_lower_func_type",
"url":25,
"doc":"ev_lower_func_type(self, argnums, fti) -> int Get function arguments which should be converted to pointers when lowering function prototype. The processor module can also modify 'fti' in order to make non-standard conversion of some arguments. @param argnums: (intvec_t  ), out - numbers of arguments to be converted to pointers in acsending order @param fti: (func_type_data_t  ), inout func type details @retval 0: not implemented @retval 1: argnums was filled @retval 2: argnums was filled and made substantial changes to fti argnums[0] can contain a special negative value indicating that the return value should be passed as a hidden 'retstr' argument: -1 this argument is passed as the first one and the function returns a pointer to the argument, -2 this argument is passed as the last one and the function returns a pointer to the argument, -3 this argument is passed as the first one and the function returns 'void'.",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_equal_reglocs",
"url":25,
"doc":"ev_equal_reglocs(self, a1, a2) -> int Are 2 register arglocs the same?. We need this callback for the pc module. @param a1: (argloc_t  ) @param a2: (argloc_t  ) @retval 1: yes @retval -1: no @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_use_stkarg_type",
"url":25,
"doc":"ev_use_stkarg_type(self, ea, arg) -> int Use information about a stack argument. @param ea: ( ea_t) address of the push instruction which pushes the function argument into the stack @param arg: (const funcarg_t  ) argument info @retval 1: ok @retval <=0: failed, the kernel will create a comment with the argument name or type for the instruction",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_use_regarg_type",
"url":25,
"doc":"ev_use_regarg_type(self, ea, rargs) -> PyObject  Use information about register argument. @param ea: ( ea_t) address of the instruction @param rargs: (const funcargvec_t  ) vector of register arguments (including regs extracted from scattered arguments) @retval 1 @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_use_arg_types",
"url":25,
"doc":"ev_use_arg_types(self, ea, fti, rargs) -> int Use information about callee arguments. @param ea: ( ea_t) address of the call instruction @param fti: (func_type_data_t  ) info about function type @param rargs: (funcargvec_t  ) array of register arguments @retval 1: (and removes handled arguments from fti and rargs) @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_arg_addrs_ready",
"url":25,
"doc":"ev_arg_addrs_ready(self, caller, n, tif, addrs) -> int Argument address info is ready. @param caller: ( ea_t) @param n: (int) number of formal arguments @param tif: (tinfo_t  ) call prototype @param addrs: ( ea_t  ) argument intilization addresses @retval <0: do not save into idb; other values mean \"ok to save\"",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_decorate_name",
"url":25,
"doc":"ev_decorate_name(self, name, mangle, cc, optional_type) -> PyObject  Decorate/undecorate a C symbol name. @param name: (const char  ) name of symbol @param mangle: (bool) true-mangle, false-unmangle @param cc: (cm_t) calling convention @param optional_type: tinfo_t const  @retval 1: if success @retval 0: not implemented or failed",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_arch_changed",
"url":25,
"doc":"ev_arch_changed(self) -> int The loader is done parsing arch-related information, which the processor module might want to use to finish its initialization. @retval 1: if success @retval 0: not implemented or failed",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_get_stkarg_area_info",
"url":25,
"doc":"ev_get_stkarg_area_info(self, out, cc) -> int Get some metrics of the stack argument area. @param out: (stkarg_area_info_t  ) ptr to stkarg_area_info_t @param cc: (cm_t) calling convention @retval 1: if success @retval 0: not implemented",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_last_cb_before_loader",
"url":25,
"doc":"ev_last_cb_before_loader(self) -> int",
"func":1
},
{
"ref":"ida_idp.processor_t.ev_loader",
"url":25,
"doc":"ev_loader(self) -> int This code and higher ones are reserved for the loaders. The arguments and the return values are defined by the loaders",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks",
"url":25,
"doc":"Proxy of C IDB_Hooks class. __init__(self, _flags=0, _hkcb_flags=0x0001) -> IDB_Hooks @param _flags: uint32 @param _hkcb_flags: uint32"
},
{
"ref":"ida_idp.IDB_Hooks.thisown",
"url":25,
"doc":"The membership flag"
},
{
"ref":"ida_idp.IDB_Hooks.hook",
"url":25,
"doc":"hook(self) -> bool",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.unhook",
"url":25,
"doc":"unhook(self) -> bool",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.closebase",
"url":25,
"doc":"closebase(self) The database will be closed now.",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.savebase",
"url":25,
"doc":"savebase(self) The database is being saved.",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.upgraded",
"url":25,
"doc":"upgraded(self, _from) The database has been upgraded and the receiver can upgrade its info as well @param from: (int) - old IDB version",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.auto_empty",
"url":25,
"doc":"auto_empty(self)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.auto_empty_finally",
"url":25,
"doc":"auto_empty_finally(self)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.determined_main",
"url":25,
"doc":"determined_main(self, main) The main() function has been determined. @param main: ( ea_t) address of the main() function",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.extlang_changed",
"url":25,
"doc":"extlang_changed(self, kind, el, idx) The list of extlangs or the default extlang was changed. @param kind: (int) 0: extlang installed 1: extlang removed 2: default extlang changed @param el: (extlang_t  ) pointer to the extlang affected @param idx: (int) extlang index",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.idasgn_loaded",
"url":25,
"doc":"idasgn_loaded(self, short_sig_name) FLIRT signature has been loaded for normal processing (not for recognition of startup sequences). @param short_sig_name: (const char  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.kernel_config_loaded",
"url":25,
"doc":"kernel_config_loaded(self, pass_number) This event is issued when ida.cfg is parsed. @param pass_number: (int)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.loader_finished",
"url":25,
"doc":"loader_finished(self, li, neflags, filetypename) External file loader finished its work. Use this event to augment the existing loader functionality. @param li: (linput_t  ) @param neflags: (uint16) Load file flags @param filetypename: (const char  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.flow_chart_created",
"url":25,
"doc":"flow_chart_created(self, fc) Gui has retrieved a function flow chart. Plugins may modify the flow chart in this callback. @param fc: (qflow_chart_t  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.compiler_changed",
"url":25,
"doc":"compiler_changed(self, adjust_inf_fields) The kernel has changed the compiler information. ( idainfo cc structure; get_abi_name) @param adjust_inf_fields: ( bool) may change inf fields?",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.changing_ti",
"url":25,
"doc":"changing_ti(self, ea, new_type, new_fnames) An item typestring (c/c prototype) is to be changed. @param ea: ( ea_t) @param new_type: (const type_t  ) @param new_fnames: (const p_list  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.ti_changed",
"url":25,
"doc":"ti_changed(self, ea, type, fnames) An item typestring (c/c prototype) has been changed. @param ea: ( ea_t) @param type: (const type_t  ) @param fnames: (const p_list  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.changing_op_ti",
"url":25,
"doc":"changing_op_ti(self, ea, n, new_type, new_fnames) An operand typestring (c/c prototype) is to be changed. @param ea: ( ea_t) @param n: (int) @param new_type: (const type_t  ) @param new_fnames: (const p_list  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.op_ti_changed",
"url":25,
"doc":"op_ti_changed(self, ea, n, type, fnames) An operand typestring (c/c prototype) has been changed. @param ea: ( ea_t) @param n: (int) @param type: (const type_t  ) @param fnames: (const p_list  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.changing_op_type",
"url":25,
"doc":"changing_op_type(self, ea, n, opinfo) An operand type (offset, hex, etc .) is to be changed. @param ea: ( ea_t) @param n: (int) eventually or'ed with OPND_OUTER or OPND_ALL @param opinfo: (const opinfo_t  ) additional operand info",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.op_type_changed",
"url":25,
"doc":"op_type_changed(self, ea, n) An operand type (offset, hex, etc .) has been set or deleted. @param ea: ( ea_t) @param n: (int) eventually or'ed with OPND_OUTER or OPND_ALL",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.segm_added",
"url":25,
"doc":"segm_added(self, s) A new segment has been created. @param s: (segment_t  ) See also adding_segm",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.deleting_segm",
"url":25,
"doc":"deleting_segm(self, start_ea) A segment is to be deleted. @param start_ea: ( ea_t)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.segm_deleted",
"url":25,
"doc":"segm_deleted(self, start_ea, end_ea, flags) A segment has been deleted. @param start_ea: ( ea_t) @param end_ea: ( ea_t) @param flags: (int)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.changing_segm_start",
"url":25,
"doc":"changing_segm_start(self, s, new_start, segmod_flags) Segment start address is to be changed. @param s: (segment_t  ) @param new_start: ( ea_t) @param segmod_flags: (int)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.segm_start_changed",
"url":25,
"doc":"segm_start_changed(self, s, oldstart) Segment start address has been changed. @param s: (segment_t  ) @param oldstart: ( ea_t)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.changing_segm_end",
"url":25,
"doc":"changing_segm_end(self, s, new_end, segmod_flags) Segment end address is to be changed. @param s: (segment_t  ) @param new_end: ( ea_t) @param segmod_flags: (int)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.segm_end_changed",
"url":25,
"doc":"segm_end_changed(self, s, oldend) Segment end address has been changed. @param s: (segment_t  ) @param oldend: ( ea_t)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.changing_segm_name",
"url":25,
"doc":"changing_segm_name(self, s, oldname) Segment name is being changed. @param s: (segment_t  ) @param oldname: (const char  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.segm_name_changed",
"url":25,
"doc":"segm_name_changed(self, s, name) Segment name has been changed. @param s: (segment_t  ) @param name: (const char  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.changing_segm_class",
"url":25,
"doc":"changing_segm_class(self, s) Segment class is being changed. @param s: (segment_t  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.segm_class_changed",
"url":25,
"doc":"segm_class_changed(self, s, sclass) Segment class has been changed. @param s: (segment_t  ) @param sclass: (const char  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.segm_attrs_updated",
"url":25,
"doc":"segm_attrs_updated(self, s) Segment attributes has been changed. @param s: (segment_t  ) This event is generated for secondary segment attributes (examples: color, permissions, etc)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.segm_moved",
"url":25,
"doc":"segm_moved(self, _from, to, size, changed_netmap) Segment has been moved. @param from: ( ea_t) @param to: ( ea_t) @param size: ( asize_t) @param changed_netmap: (bool) See also idb_event allsegs_moved",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.allsegs_moved",
"url":25,
"doc":"allsegs_moved(self, info) Program rebasing is complete. This event is generated after series of segm_moved events @param info: (segm_move_infos_t  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.func_added",
"url":25,
"doc":"func_added(self, pfn) The kernel has added a function. @param pfn: (func_t  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.func_updated",
"url":25,
"doc":"func_updated(self, pfn) The kernel has updated a function. @param pfn: (func_t  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.set_func_start",
"url":25,
"doc":"set_func_start(self, pfn, new_start) Function chunk start address will be changed. @param pfn: (func_t  ) @param new_start: ( ea_t)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.set_func_end",
"url":25,
"doc":"set_func_end(self, pfn, new_end) Function chunk end address will be changed. @param pfn: (func_t  ) @param new_end: ( ea_t)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.deleting_func",
"url":25,
"doc":"deleting_func(self, pfn) The kernel is about to delete a function. @param pfn: (func_t  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.frame_deleted",
"url":25,
"doc":"frame_deleted(self, pfn) The kernel has deleted a function frame. @param pfn: (func_t  ) idb_event frame_created",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.thunk_func_created",
"url":25,
"doc":"thunk_func_created(self, pfn) A thunk bit has been set for a function. @param pfn: (func_t  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.func_tail_appended",
"url":25,
"doc":"func_tail_appended(self, pfn, tail) A function tail chunk has been appended. @param pfn: (func_t  ) @param tail: (func_t  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.deleting_func_tail",
"url":25,
"doc":"deleting_func_tail(self, pfn, tail) A function tail chunk is to be removed. @param pfn: (func_t  ) @param tail: (const range_t  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.func_tail_deleted",
"url":25,
"doc":"func_tail_deleted(self, pfn, tail_ea) A function tail chunk has been removed. @param pfn: (func_t  ) @param tail_ea: ( ea_t)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.tail_owner_changed",
"url":25,
"doc":"tail_owner_changed(self, tail, owner_func, old_owner) A tail chunk owner has been changed. @param tail: (func_t  ) @param owner_func: ( ea_t) @param old_owner: ( ea_t)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.func_noret_changed",
"url":25,
"doc":"func_noret_changed(self, pfn) FUNC_NORET bit has been changed. @param pfn: (func_t  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.stkpnts_changed",
"url":25,
"doc":"stkpnts_changed(self, pfn) Stack change points have been modified. @param pfn: (func_t  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.updating_tryblks",
"url":25,
"doc":"updating_tryblks(self, tbv) About to update tryblk information @param tbv: (const  tryblks_t  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.tryblks_updated",
"url":25,
"doc":"tryblks_updated(self, tbv) Updated tryblk information @param tbv: (const  tryblks_t  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.deleting_tryblks",
"url":25,
"doc":"deleting_tryblks(self, range) About to delete tryblk information in given range @param range: (const range_t  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.sgr_changed",
"url":25,
"doc":"sgr_changed(self, start_ea, end_ea, regnum, value, old_value, tag) The kernel has changed a segment register value. @param start_ea: ( ea_t) @param end_ea: ( ea_t) @param regnum: (int) @param value: ( sel_t) @param old_value: ( sel_t) @param tag: (uchar) Segment register range tags",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.make_code",
"url":25,
"doc":"make_code(self, insn) An instruction is being created. @param insn: (const insn_t )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.make_data",
"url":25,
"doc":"make_data(self, ea, flags, tid, len) A data item is being created. @param ea: ( ea_t) @param flags: (flags64_t) @param tid: (tid_t) @param len: ( asize_t)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.destroyed_items",
"url":25,
"doc":"destroyed_items(self, ea1, ea2, will_disable_range) Instructions/data have been destroyed in [ea1,ea2). @param ea1: ( ea_t) @param ea2: ( ea_t) @param will_disable_range: (bool)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.renamed",
"url":25,
"doc":"renamed(self, ea, new_name, local_name, old_name) The kernel has renamed a byte. See also the rename event @param ea: ( ea_t) @param new_name: (const char  ) can be nullptr @param local_name: (bool) @param old_name: (const char  ) can be nullptr",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.byte_patched",
"url":25,
"doc":"byte_patched(self, ea, old_value) A byte has been patched. @param ea: ( ea_t) @param old_value: (uint32)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.changing_cmt",
"url":25,
"doc":"changing_cmt(self, ea, repeatable_cmt, newcmt) An item comment is to be changed. @param ea: ( ea_t) @param repeatable_cmt: (bool) @param newcmt: (const char  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.cmt_changed",
"url":25,
"doc":"cmt_changed(self, ea, repeatable_cmt) An item comment has been changed. @param ea: ( ea_t) @param repeatable_cmt: (bool)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.changing_range_cmt",
"url":25,
"doc":"changing_range_cmt(self, kind, a, cmt, repeatable) Range comment is to be changed. @param kind: (range_kind_t) @param a: (const range_t  ) @param cmt: (const char  ) @param repeatable: (bool)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.range_cmt_changed",
"url":25,
"doc":"range_cmt_changed(self, kind, a, cmt, repeatable) Range comment has been changed. @param kind: (range_kind_t) @param a: (const range_t  ) @param cmt: (const char  ) @param repeatable: (bool)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.extra_cmt_changed",
"url":25,
"doc":"extra_cmt_changed(self, ea, line_idx, cmt) An extra comment has been changed. @param ea: ( ea_t) @param line_idx: (int) @param cmt: (const char  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.item_color_changed",
"url":25,
"doc":"item_color_changed(self, ea, color) An item color has been changed. @param ea: ( ea_t) @param color: (bgcolor_t) if color DEFCOLOR, the the color is deleted.",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.callee_addr_changed",
"url":25,
"doc":"callee_addr_changed(self, ea, callee) Callee address has been updated by the user. @param ea: ( ea_t) @param callee: ( ea_t)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.bookmark_changed",
"url":25,
"doc":"bookmark_changed(self, index, pos, desc, operation) Boomarked position changed. @param index: (uint32) @param pos: ( const lochist_entry_t  ) @param desc: ( const char  ) @param operation: (int) 0-added, 1-updated, 2-deleted if desc nullptr, then the bookmark was deleted.",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.sgr_deleted",
"url":25,
"doc":"sgr_deleted(self, start_ea, end_ea, regnum) The kernel has deleted a segment register value. @param start_ea: ( ea_t) @param end_ea: ( ea_t) @param regnum: (int)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.adding_segm",
"url":25,
"doc":"adding_segm(self, s) A segment is being created. @param s: (segment_t  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.func_deleted",
"url":25,
"doc":"func_deleted(self, func_ea) A function has been deleted. @param func_ea: ( ea_t)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.dirtree_mkdir",
"url":25,
"doc":"dirtree_mkdir(self, dt, path) @param dt: (dirtree_t  ) @param path: ( const char  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.dirtree_rmdir",
"url":25,
"doc":"dirtree_rmdir(self, dt, path) @param dt: (dirtree_t  ) @param path: ( const char  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.dirtree_link",
"url":25,
"doc":"dirtree_link(self, dt, path, link) @param dt: (dirtree_t  ) @param path: ( const char  ) @param link: ( bool)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.dirtree_move",
"url":25,
"doc":"dirtree_move(self, dt, _from, to) @param dt: (dirtree_t  ) @param from: ( const char  ) @param to: ( const char  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.dirtree_rank",
"url":25,
"doc":"dirtree_rank(self, dt, path, rank) @param dt: (dirtree_t  ) @param path: ( const char  ) @param rank: ( size_t)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.dirtree_rminode",
"url":25,
"doc":"dirtree_rminode(self, dt, inode) @param dt: (dirtree_t  ) @param inode: (inode_t)",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.dirtree_segm_moved",
"url":25,
"doc":"dirtree_segm_moved(self, dt) @param dt: (dirtree_t  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.local_types_changed",
"url":25,
"doc":"local_types_changed(self, ltc, ordinal, name) Local types have been changed @param ltc: (local_type_change_t) @param ordinal: (uint32) 0 means ordinal is unknown @param name: (const char  ) nullptr means name is unknown",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.lt_udm_created",
"url":25,
"doc":"lt_udm_created(self, udtname, udm) local type udt member has been added @param udtname: ( const char  ) @param udm: ( const udm_t  ) @note: udm_t offset may not be calculated yet except of the fixed udt",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.lt_udm_deleted",
"url":25,
"doc":"lt_udm_deleted(self, udtname, udm_tid, udm) local type udt member has been deleted @param udtname: ( const char  ) @param udm_tid: (tid_t) @param udm: ( const udm_t  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.lt_udm_renamed",
"url":25,
"doc":"lt_udm_renamed(self, udtname, udm, oldname) local type udt member has been renamed @param udtname: ( const char  ) @param udm: ( const udm_t  ) @param oldname: ( const char  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.lt_udm_changed",
"url":25,
"doc":"lt_udm_changed(self, udtname, udm_tid, udmold, udmnew) local type udt member has been changed @param udtname: ( const char  ) @param udm_tid: (tid_t) @param udmold: ( const udm_t  ) @param udmnew: ( const udm_t  ) @note: udm_t offset may not be calculated yet except of the fixed udt",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.lt_udt_expanded",
"url":25,
"doc":"lt_udt_expanded(self, udtname, udm_tid, delta) A structure type has been expanded/shrank. @param udtname: ( const char  ) @param udm_tid: (tid_t) the gap was added/removed before this member @param delta: ( adiff_t) number of added/removed bytes",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.frame_created",
"url":25,
"doc":"frame_created(self, func_ea) A function frame has been created. @param func_ea: ( ea_t) idb_event frame_deleted",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.frame_udm_created",
"url":25,
"doc":"frame_udm_created(self, func_ea, udm) Frame member has been added. @param func_ea: ( ea_t) @param udm: ( const udm_t  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.frame_udm_deleted",
"url":25,
"doc":"frame_udm_deleted(self, func_ea, udm_tid, udm) Frame member has been deleted. @param func_ea: ( ea_t) @param udm_tid: (tid_t) @param udm: ( const udm_t  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.frame_udm_renamed",
"url":25,
"doc":"frame_udm_renamed(self, func_ea, udm, oldname) Frame member has been renamed. @param func_ea: ( ea_t) @param udm: ( const udm_t  ) @param oldname: ( const char  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.frame_udm_changed",
"url":25,
"doc":"frame_udm_changed(self, func_ea, udm_tid, udmold, udmnew) Frame member has been changed. @param func_ea: ( ea_t) @param udm_tid: (tid_t) @param udmold: ( const udm_t  ) @param udmnew: ( const udm_t  )",
"func":1
},
{
"ref":"ida_idp.IDB_Hooks.frame_expanded",
"url":25,
"doc":"frame_expanded(self, func_ea, udm_tid, delta) A frame type has been expanded/shrank. @param func_ea: ( ea_t) @param udm_tid: (tid_t) the gap was added/removed before this member @param delta: ( adiff_t) number of added/removed bytes",
"func":1
},
{
"ref":"ida_idp.get_idb_notifier_addr",
"url":25,
"doc":"get_idb_notifier_addr(arg1) -> PyObject  @param arg1: PyObject  ",
"func":1
},
{
"ref":"ida_idp.get_idb_notifier_ud_addr",
"url":25,
"doc":"get_idb_notifier_ud_addr(hooks) -> PyObject  @param hooks: IDB_Hooks  ",
"func":1
},
{
"ref":"ida_ieee",
"url":26,
"doc":"IEEE floating point functions."
},
{
"ref":"ida_ieee.fpvalue_shorts_array_t",
"url":26,
"doc":"Proxy of C wrapped_array_t class. __init__(self, data) -> fpvalue_shorts_array_t @param data: unsigned short (&)[FPVAL_NWORDS]"
},
{
"ref":"ida_ieee.fpvalue_shorts_array_t.thisown",
"url":26,
"doc":"The membership flag"
},
{
"ref":"ida_ieee.fpvalue_shorts_array_t.data",
"url":26,
"doc":"data"
},
{
"ref":"ida_ieee.fpvalue_shorts_array_t.bytes",
"url":26,
"doc":"_get_bytes(self) -> bytevec_t"
},
{
"ref":"ida_ieee.FPVAL_NWORDS",
"url":26,
"doc":"number of words in fpvalue_t"
},
{
"ref":"ida_ieee.FPV_BADARG",
"url":26,
"doc":"wrong value of max_exp"
},
{
"ref":"ida_ieee.FPV_NORM",
"url":26,
"doc":"regular value"
},
{
"ref":"ida_ieee.FPV_NAN",
"url":26,
"doc":"NaN."
},
{
"ref":"ida_ieee.FPV_PINF",
"url":26,
"doc":"positive infinity"
},
{
"ref":"ida_ieee.FPV_NINF",
"url":26,
"doc":"negative infinity"
},
{
"ref":"ida_ieee.REAL_ERROR_OK",
"url":26,
"doc":"no error"
},
{
"ref":"ida_ieee.REAL_ERROR_FORMAT",
"url":26,
"doc":"realcvt: not supported format for current .idp"
},
{
"ref":"ida_ieee.REAL_ERROR_RANGE",
"url":26,
"doc":"realcvt: number too big (small) for store (mem NOT modified)"
},
{
"ref":"ida_ieee.REAL_ERROR_BADDATA",
"url":26,
"doc":"realcvt: illegal real data for load (IEEE data not filled)"
},
{
"ref":"ida_ieee.REAL_ERROR_FPOVER",
"url":26,
"doc":"floating overflow or underflow"
},
{
"ref":"ida_ieee.REAL_ERROR_BADSTR",
"url":26,
"doc":"asctoreal: illegal input string"
},
{
"ref":"ida_ieee.REAL_ERROR_ZERODIV",
"url":26,
"doc":"ediv: divide by 0"
},
{
"ref":"ida_ieee.REAL_ERROR_INTOVER",
"url":26,
"doc":"eetol : integer overflow"
},
{
"ref":"ida_ieee.fpvalue_t",
"url":26,
"doc":"Proxy of C fpvalue_t class. __init__(self) -> fpvalue_t __init__(self, _in) -> fpvalue_t @param in: bytevec16_t const &"
},
{
"ref":"ida_ieee.fpvalue_t.thisown",
"url":26,
"doc":"The membership flag"
},
{
"ref":"ida_ieee.fpvalue_t.w",
"url":26,
"doc":"w"
},
{
"ref":"ida_ieee.fpvalue_t.clear",
"url":26,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.compare",
"url":26,
"doc":"compare(self, r) -> int @param r: fpvalue_t const &",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.from_10bytes",
"url":26,
"doc":"from_10bytes(self, fpval) -> fpvalue_error_t Conversions for 10-byte floating point values. @param fpval: (C : const void  ) void const  ",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.to_10bytes",
"url":26,
"doc":"to_10bytes(self, fpval) -> fpvalue_error_t @param fpval: void  ",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.from_12bytes",
"url":26,
"doc":"from_12bytes(self, fpval) -> fpvalue_error_t Conversions for 12-byte floating point values. @param fpval: (C : const void  ) void const  ",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.to_12bytes",
"url":26,
"doc":"to_12bytes(self, fpval) -> fpvalue_error_t @param fpval: void  ",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.to_str",
"url":26,
"doc":"to_str(self, mode) Convert IEEE to string. @param mode: (C : uint) broken down into:  low byte: number of digits after '.'  second byte: FPNUM_LENGTH  third byte: FPNUM_DIGITS",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.from_sval",
"url":26,
"doc":"from_sval(self, x) Convert integer to IEEE. @param x: (C : sval_t)",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.from_int64",
"url":26,
"doc":"from_int64(self, x) @param x: int64",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.from_uint64",
"url":26,
"doc":"from_uint64(self, x) @param x: uint64",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.to_sval",
"url":26,
"doc":"to_sval(self, round=False) -> fpvalue_error_t Convert IEEE to integer (+-0.5 if round) @param round: (C : bool)",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.to_int64",
"url":26,
"doc":"to_int64(self, round=False) -> fpvalue_error_t @param round: bool",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.to_uint64",
"url":26,
"doc":"to_uint64(self, round=False) -> fpvalue_error_t @param round: bool",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.fadd",
"url":26,
"doc":"fadd(self, y) -> fpvalue_error_t Arithmetic operations. @param y: (C : const fpvalue_t &) fpvalue_t const &",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.fsub",
"url":26,
"doc":"fsub(self, y) -> fpvalue_error_t @param y: fpvalue_t const &",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.fmul",
"url":26,
"doc":"fmul(self, y) -> fpvalue_error_t @param y: fpvalue_t const &",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.fdiv",
"url":26,
"doc":"fdiv(self, y) -> fpvalue_error_t @param y: fpvalue_t const &",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.mul_pow2",
"url":26,
"doc":"mul_pow2(self, power_of_2) -> fpvalue_error_t Multiply by a power of 2. @param power_of_2: (C : int32)",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.eabs",
"url":26,
"doc":"eabs(self) Calculate absolute value.",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.is_negative",
"url":26,
"doc":"is_negative(self) -> bool Is negative value?",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.negate",
"url":26,
"doc":"negate(self) Negate.",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.get_kind",
"url":26,
"doc":"get_kind(self) -> fpvalue_kind_t Get value kind.",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.copy",
"url":26,
"doc":"copy(self) -> fpvalue_t",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.from_str",
"url":26,
"doc":"from_str(self, p) -> fpvalue_error_t Convert string to IEEE. @param p_str: (C : const char  ) pointer to pointer to string. it will advanced.",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.assign",
"url":26,
"doc":"assign(self, r) @param r: fpvalue_t const &",
"func":1
},
{
"ref":"ida_ieee.fpvalue_t.bytes",
"url":26,
"doc":"_get_bytes(self)"
},
{
"ref":"ida_ieee.fpvalue_t.shorts",
"url":26,
"doc":"_get_shorts(self) -> fpvalue_shorts_array_t"
},
{
"ref":"ida_ieee.fpvalue_t.float",
"url":26,
"doc":"_get_float(self) -> double"
},
{
"ref":"ida_ieee.fpvalue_t.sval",
"url":26,
"doc":""
},
{
"ref":"ida_ieee.fpvalue_t.int64",
"url":26,
"doc":""
},
{
"ref":"ida_ieee.fpvalue_t.uint64",
"url":26,
"doc":""
},
{
"ref":"ida_ieee.MAXEXP_FLOAT",
"url":26,
"doc":"maximum exponent for 32-bit float"
},
{
"ref":"ida_ieee.MAXEXP_DOUBLE",
"url":26,
"doc":"maximum exponent for 64-bit double"
},
{
"ref":"ida_ieee.MAXEXP_LNGDBL",
"url":26,
"doc":"maximum exponent for 80-bit long double"
},
{
"ref":"ida_ieee.IEEE_EXONE",
"url":26,
"doc":"The exponent of 1.0."
},
{
"ref":"ida_ieee.E_SPECIAL_EXP",
"url":26,
"doc":"Exponent in fpvalue_t for NaN and Inf."
},
{
"ref":"ida_ieee.IEEE_NI",
"url":26,
"doc":"Number of 16 bit words in eNI."
},
{
"ref":"ida_ieee.IEEE_E",
"url":26,
"doc":"Array offset to exponent."
},
{
"ref":"ida_ieee.IEEE_M",
"url":26,
"doc":"Array offset to high guard word"
},
{
"ref":"ida_ieee.ecleaz",
"url":26,
"doc":"ecleaz(x) @param x: unsigned short [(8+3)]",
"func":1
},
{
"ref":"ida_kernwin",
"url":17,
"doc":"Defines the interface between the kernel and the UI. It contains:  the UI dispatcher notification codes (ui_notification_t)  convenience functions for UI services  structures which hold information about the lines (disassembly, structures, enums) generated by the kernel  functions to interact with the user (dialog boxes)  some string and conversion functions."
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t",
"url":17,
"doc":"Proxy of C qvector class. __init__(self) -> chooser_row_info_vec_t __init__(self, x) -> chooser_row_info_vec_t @param x: qvector const &"
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.push_back",
"url":17,
"doc":"push_back(self, x) @param x: chooser_row_info_t const & push_back(self) -> chooser_row_info_t",
"func":1
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.pop_back",
"url":17,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.size",
"url":17,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.empty",
"url":17,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.at",
"url":17,
"doc":"at(self, _idx) -> chooser_row_info_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.qclear",
"url":17,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.clear",
"url":17,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.resize",
"url":17,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: chooser_row_info_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.grow",
"url":17,
"doc":"grow(self, x=chooser_row_info_t( @param x: chooser_row_info_t const &",
"func":1
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.capacity",
"url":17,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.reserve",
"url":17,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.truncate",
"url":17,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.swap",
"url":17,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.extract",
"url":17,
"doc":"extract(self) -> chooser_row_info_t",
"func":1
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.inject",
"url":17,
"doc":"inject(self, s, len) @param s: chooser_row_info_t  @param len: size_t",
"func":1
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.begin",
"url":17,
"doc":"begin(self) -> chooser_row_info_t",
"func":1
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.end",
"url":17,
"doc":"end(self) -> chooser_row_info_t",
"func":1
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.insert",
"url":17,
"doc":"insert(self, it, x) -> chooser_row_info_t @param it: qvector  iterator @param x: chooser_row_info_t const &",
"func":1
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.erase",
"url":17,
"doc":"erase(self, it) -> chooser_row_info_t @param it: qvector  iterator erase(self, first, last) -> chooser_row_info_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.find",
"url":17,
"doc":"find(self, x) -> chooser_row_info_t @param x: chooser_row_info_t const &",
"func":1
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.has",
"url":17,
"doc":"has(self, x) -> bool @param x: chooser_row_info_t const &",
"func":1
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.add_unique",
"url":17,
"doc":"add_unique(self, x) -> bool @param x: chooser_row_info_t const &",
"func":1
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.front",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.chooser_row_info_vec_t.back",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.refresh_choosers",
"url":17,
"doc":"refresh_choosers()",
"func":1
},
{
"ref":"ida_kernwin.textctrl_info_t_create",
"url":17,
"doc":"textctrl_info_t_create() -> PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.textctrl_info_t_destroy",
"url":17,
"doc":"textctrl_info_t_destroy(py_obj) -> bool @param py_obj: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.textctrl_info_t_get_clink",
"url":17,
"doc":"textctrl_info_t_get_clink(_self) -> textctrl_info_t  @param self: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.textctrl_info_t_get_clink_ptr",
"url":17,
"doc":"textctrl_info_t_get_clink_ptr(_self) -> PyObject  @param self: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.register_timer",
"url":17,
"doc":"register_timer(interval, py_callback) -> PyCapsule Register a timer @param interval: Interval in milliseconds @param py_callback: A Python callable that takes no parameters and returns an integer. The callback may return: -1 : to unregister the timer >= 0 : the new or same timer interval @return: None or a timer object",
"func":1
},
{
"ref":"ida_kernwin.unregister_timer",
"url":17,
"doc":"unregister_timer(py_timerctx) -> bool Unregister a timer @param timer_obj: a timer object previously returned by a register_timer() @return: Boolean @note: After the timer has been deleted, the timer_obj will become invalid.",
"func":1
},
{
"ref":"ida_kernwin.choose_idasgn",
"url":17,
"doc":"choose_idasgn() -> PyObject  Opens the signature chooser @return: None or the selected signature name",
"func":1
},
{
"ref":"ida_kernwin.get_highlight",
"url":17,
"doc":"get_highlight(v, in_flags=0) -> PyObject Returns the currently highlighted identifier and flags @param v: The UI widget to operate on @param flags: Optionally specify a slot (see kernwin.hpp), current otherwise @return: a tuple (text, flags), or None if nothing is highlighted or in case of error.",
"func":1
},
{
"ref":"ida_kernwin.py_load_custom_icon_fn",
"url":17,
"doc":"py_load_custom_icon_fn(filename) -> int @param filename: char const  ",
"func":1
},
{
"ref":"ida_kernwin.py_load_custom_icon_data",
"url":17,
"doc":"py_load_custom_icon_data(data, format) -> int @param data: PyObject  @param format: char const  ",
"func":1
},
{
"ref":"ida_kernwin.msg",
"url":17,
"doc":"msg(message) -> int Display an UTF-8 string in the message window The result of the stringification of the arguments will be treated as an UTF-8 string. @param message: message to print (formatting is done in Python) This function can be used to debug IDAPython scripts",
"func":1
},
{
"ref":"ida_kernwin.ask_text",
"url":17,
"doc":"ask_text(max_size, defval, prompt) -> str Asks for a long text @param max_size: Maximum text length, 0 for unlimited @param defval: The default value @param prompt: The prompt value @return: None or the entered string",
"func":1
},
{
"ref":"ida_kernwin.ask_str",
"url":17,
"doc":"ask_str(defval, hist, prompt) -> str or None Asks for a long text @param defval: The default value @param hist: history id @param prompt: The prompt value @return: None or the entered string",
"func":1
},
{
"ref":"ida_kernwin.process_ui_action",
"url":17,
"doc":"process_ui_action(name, flags=0) -> bool Invokes an IDA UI action by name @param name: action name @param flags: int @return: Boolean",
"func":1
},
{
"ref":"ida_kernwin.del_hotkey",
"url":17,
"doc":"del_hotkey(pyctx) -> bool Deletes a previously registered function hotkey @param ctx: Hotkey context previously returned by add_hotkey() @return: Boolean.",
"func":1
},
{
"ref":"ida_kernwin.add_hotkey",
"url":17,
"doc":"add_hotkey(hotkey, pyfunc) -> PyCapsule Associates a function call with a hotkey. Callable pyfunc will be called each time the hotkey is pressed @param hotkey: The hotkey @param pyfunc: Callable @return: Context object on success or None on failure.",
"func":1
},
{
"ref":"ida_kernwin.take_database_snapshot",
"url":17,
"doc":"take_database_snapshot(ss) -> (bool, NoneType) Take a database snapshot (ui_take_database_snapshot). @param ss: (C : snapshot_t  ) in/out parameter.  in: description, flags  out: filename, id @return: success",
"func":1
},
{
"ref":"ida_kernwin.restore_database_snapshot",
"url":17,
"doc":"restore_database_snapshot(ss, pyfunc_or_none, pytuple_or_none) -> bool Restore a database snapshot. Note: This call is asynchronous. When it is completed, the callback will be triggered. @param ss: (C : const snapshot_t  ) snapshot instance (see build_snapshot_tree( @param pyfunc_or_none: PyObject  @param pytuple_or_none: PyObject  @return: false if restoration could not be started (snapshot file was not found). If the returned value is True then check if the operation succeeded from the callback.",
"func":1
},
{
"ref":"ida_kernwin.execute_sync",
"url":17,
"doc":"execute_sync(py_callable, reqf) -> ssize_t Executes a function in the context of the main thread. If the current thread not the main thread, then the call is queued and executed afterwards. @param py_callable: A python callable object, must return an integer value @param reqf: one of MFF_ flags @return: -1 or the return value of the callable",
"func":1
},
{
"ref":"ida_kernwin.execute_ui_requests",
"url":17,
"doc":"execute_ui_requests(py_list) -> bool Inserts a list of callables into the UI message processing queue. When the UI is ready it will call one callable. A callable can request to be called more than once if it returns True. @param callable_list: A list of python callable objects. @note: A callable should return True if it wants to be called more than once. @return: Boolean. False if the list contains a non callable item",
"func":1
},
{
"ref":"ida_kernwin.jobj_wrapper_t",
"url":17,
"doc":"Proxy of C jobj_wrapper_t class."
},
{
"ref":"ida_kernwin.jobj_wrapper_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.jobj_wrapper_t.get_dict",
"url":17,
"doc":"get_dict(self) -> dict",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks",
"url":17,
"doc":"Proxy of C UI_Hooks class. __init__(self, _flags=0, _hkcb_flags=0x0001) -> UI_Hooks @param _flags: uint32 @param _hkcb_flags: uint32"
},
{
"ref":"ida_kernwin.UI_Hooks.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.UI_Hooks.hook",
"url":17,
"doc":"hook(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.unhook",
"url":17,
"doc":"unhook(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.range",
"url":17,
"doc":"range(self) The disassembly range has been changed ( idainfo min_ea  . idainfo max_ea). UI should redraw the scrollbars. See also: ui_lock_range_refresh",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.idcstart",
"url":17,
"doc":"idcstart(self) Start of IDC engine work.",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.idcstop",
"url":17,
"doc":"idcstop(self) Stop of IDC engine work.",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.suspend",
"url":17,
"doc":"suspend(self) Suspend graphical interface. Only the text version. Interface should respond to it.",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.resume",
"url":17,
"doc":"resume(self) Resume the suspended graphical interface. Only the text version. Interface should respond to it",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.saving",
"url":17,
"doc":"saving(self) The kernel is flushing its buffers to the disk. The user interface should save its state. Parameters: none Returns: none",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.saved",
"url":17,
"doc":"saved(self, path) The kernel has saved the database. This callback just informs the interface. Note that at the time this notification is sent, the internal paths are not updated yet, and calling get_path(PATH_TYPE_IDB) will return the previous path. @param path: (const char  ) the database path",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.database_closed",
"url":17,
"doc":"database_closed(self) The database has been closed. See also processor_t closebase, it occurs earlier. See also ui_initing_database. This is not the same as IDA exiting. If you need to perform cleanup at the exiting time, use qatexit().",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.debugger_menu_change",
"url":17,
"doc":"debugger_menu_change(self, enable) debugger menu modification detected @param enable: (bool) true: debugger menu has been added, or a different debugger has been selected false: debugger menu will be removed (user switched to \"No debugger\")",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.widget_visible",
"url":17,
"doc":"widget_visible(self, widget) TWidget is displayed on the screen. Use this event to populate the window with controls @param widget: (TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.widget_closing",
"url":17,
"doc":"widget_closing(self, widget) TWidget is about to close. This event precedes ui_widget_invisible. Use this to perform some possible actions relevant to the lifecycle of this widget @param widget: (TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.widget_invisible",
"url":17,
"doc":"widget_invisible(self, widget) TWidget is being closed. Use this event to destroy the window controls @param widget: (TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.get_ea_hint",
"url":17,
"doc":"get_ea_hint(self, ea) -> PyObject  ui wants to display a simple hint for an address. Use this event to generate a custom hint See also more generic ui_get_item_hint @param ea: ( ea_t) @return: true if generated a hint",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.get_item_hint",
"url":17,
"doc":"get_item_hint(self, ea, max_lines) -> PyObject  ui wants to display multiline hint for an item. See also more generic ui_get_custom_viewer_hint @param ea: (ea_t) or item id like a structure or enum member @param max_lines: (int) maximal number of lines @return: true if generated a hint",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.get_custom_viewer_hint",
"url":17,
"doc":"get_custom_viewer_hint(self, viewer, place) -> PyObject  ui wants to display a hint for a viewer (idaview or custom). Every subscriber is supposed to append the hint lines to HINT and increment IMPORTANT_LINES accordingly. Completely overwriting the existing lines in HINT is possible but not recommended. If the REG_HINTS_MARKER sequence is found in the returned hints string, it will be replaced with the contents of the \"regular\" hints. If the SRCDBG_HINTS_MARKER sequence is found in the returned hints string, it will be replaced with the contents of the source-level debugger-generated hints. The following keywords might appear at the beginning of the returned hints: HIGHLIGHT text where text will be highlighted CAPTION caption caption for the hint widget @param viewer: (TWidget ) viewer @param place: (place_t  ) current position in the viewer @retval 0: continue collecting hints with other subscribers @retval 1: stop collecting hints",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.database_inited",
"url":17,
"doc":"database_inited(self, is_new_database, idc_script) database initialization has completed. the kernel is about to run idc scripts @param is_new_database: (int) @param idc_script: (const char  ) - may be nullptr @return: void See also ui_initing_database. This event is called for both new and old databases.",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.ready_to_run",
"url":17,
"doc":"ready_to_run(self) all UI elements have been initialized. Automatic plugins may hook to this event to perform their tasks.",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.preprocess_action",
"url":17,
"doc":"preprocess_action(self, name) -> int ida ui is about to handle a user action. @param name: (const char  ) ui action name. these names can be looked up in ida[tg]ui.cfg @retval 0: ok @retval nonzero: a plugin has handled the command",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.postprocess_action",
"url":17,
"doc":"postprocess_action(self) an ida ui action has been handled",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.get_chooser_item_attrs",
"url":17,
"doc":"get_chooser_item_attrs(self, chooser, n, attrs) get item-specific attributes for a chooser. This callback is generated only after enable_chooser_attrs() @param chooser: (const chooser_base_t  ) @param n: ( size_t) @param attrs: (chooser_item_attrs_t  )",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.updating_actions",
"url":17,
"doc":"updating_actions(self, ctx) IDA is about to update all actions. If your plugin needs to perform expensive operations more than once (e.g., once per action it registers), you should do them only once, right away. @param ctx: (action_update_ctx_t  )",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.updated_actions",
"url":17,
"doc":"updated_actions(self) IDA is done updating actions.",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.populating_widget_popup",
"url":17,
"doc":"populating_widget_popup(self, widget, popup_handle, ctx=None) IDA is populating the context menu for a widget. This is your chance to attach_action_to_popup(). Have a look at ui_finish_populating_widget_popup, if you want to augment the context menu with your own actions after the menu has had a chance to be properly populated by the owning component or plugin (which typically does it on ui_populating_widget_popup.) @param widget: (TWidget  ) @param popup_handle: (TPopupMenu  ) @param ctx: (const action_activation_ctx_t  )",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.finish_populating_widget_popup",
"url":17,
"doc":"finish_populating_widget_popup(self, widget, popup_handle, ctx=None) IDA is about to be done populating the context menu for a widget. This is your chance to attach_action_to_popup(). @param widget: (TWidget  ) @param popup_handle: (TPopupMenu  ) @param ctx: (const action_activation_ctx_t  )",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.plugin_loaded",
"url":17,
"doc":"plugin_loaded(self, plugin_info) The plugin was loaded in memory. @param plugin_info: (const plugin_info_t  )",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.plugin_unloading",
"url":17,
"doc":"plugin_unloading(self, plugin_info) The plugin is about to be unloaded @param plugin_info: (const plugin_info_t  )",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.current_widget_changed",
"url":17,
"doc":"current_widget_changed(self, widget, prev_widget) The currently-active TWidget changed. @param widget: (TWidget  ) @param prev_widget: (TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.screen_ea_changed",
"url":17,
"doc":"screen_ea_changed(self, ea, prev_ea) The \"current address\" changed @param ea: (ea_t) @param prev_ea: (ea_t)",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.create_desktop_widget",
"url":17,
"doc":"create_desktop_widget(self, title, cfg) -> PyObject  create a widget, to be placed in the widget tree (at desktop-creation time.) @param title: (const char  ) @param cfg: (const jobj_t  ) @return: TWidget  the created widget, or null",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.get_lines_rendering_info",
"url":17,
"doc":"get_lines_rendering_info(self, out, widget, info) get lines rendering information @param out: (lines_rendering_output_t  ) @param widget: (const TWidget  ) @param info: (const lines_rendering_input_t  )",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.get_widget_config",
"url":17,
"doc":"get_widget_config(self, widget, cfg) -> PyObject  retrieve the widget configuration (it will be passed back at ui_create_desktop_widget-, and ui_set_widget_config-time) @param widget: (const TWidget  ) @param cfg: (jobj_t  )",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.set_widget_config",
"url":17,
"doc":"set_widget_config(self, widget, cfg) set the widget configuration @param widget: (const TWidget  ) @param cfg: (const jobj_t  )",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.initing_database",
"url":17,
"doc":"initing_database(self) database initialization has started. @return: void See also ui_database_inited. This event is called for both new and old databases.",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.destroying_procmod",
"url":17,
"doc":"destroying_procmod(self, procmod) The processor module is about to be destroyed @param procmod: (const procmod_t  )",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.destroying_plugmod",
"url":17,
"doc":"destroying_plugmod(self, plugmod, entry) The plugin object is about to be destroyed @param plugmod: (const plugmod_t  ) @param entry: (const plugin_t  )",
"func":1
},
{
"ref":"ida_kernwin.UI_Hooks.desktop_applied",
"url":17,
"doc":"desktop_applied(self, name, from_idb, type) a desktop has been applied @param name: (const char  ) the desktop name @param from_idb: (bool) the desktop was stored in the IDB (false if it comes from the registry) @param type: (int) the desktop type (1-disassembly, 2-debugger, 3-merge)",
"func":1
},
{
"ref":"ida_kernwin.register_action",
"url":17,
"doc":"register_action(desc) -> bool Create a new action (ui_register_action). After an action has been created, it is possible to attach it to menu items (attach_action_to_menu( , or to popup menus (attach_action_to_popup( . Because the actions will need to call the handler's activate() and update() methods at any time, you shouldn't build your action handler on the stack. Please see the SDK's \"ht_view\" plugin for an example how to register actions. @param desc: (C : const action_desc_t &) action to register @return: success",
"func":1
},
{
"ref":"ida_kernwin.get_registered_actions",
"url":17,
"doc":"get_registered_actions() -> [str,  .] Get a list of all currently-registered actions",
"func":1
},
{
"ref":"ida_kernwin.attach_dynamic_action_to_popup",
"url":17,
"doc":"attach_dynamic_action_to_popup(unused, popup_handle, desc, popuppath=None, flags=0) -> bool Create & insert an action into the widget's popup menu ( ui_attach_dynamic_action_to_popup). Note: The action description in the 'desc' parameter is modified by this call so you should prepare a new description for each call. For example: desc = idaapi.action_desc_t(None, 'Dynamic popup action', Handler( idaapi.attach_dynamic_action_to_popup(form, popup, desc) @param unused: deprecated; should be None @param popup_handle: target popup @param desc: action description of type action_desc_t @param popuppath: can be None @param flags: a combination of SETMENU_ constants @return: success",
"func":1
},
{
"ref":"ida_kernwin.disasm_line_t",
"url":17,
"doc":"Proxy of C disasm_line_t class. __init__(self) -> disasm_line_t __init__(self, other) -> disasm_line_t @param other: disasm_line_t const &"
},
{
"ref":"ida_kernwin.disasm_line_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.disasm_line_t.at",
"url":17,
"doc":"at"
},
{
"ref":"ida_kernwin.disasm_line_t.line",
"url":17,
"doc":"line"
},
{
"ref":"ida_kernwin.disasm_line_t.prefix_color",
"url":17,
"doc":"prefix_color"
},
{
"ref":"ida_kernwin.disasm_line_t.bg_color",
"url":17,
"doc":"bg_color"
},
{
"ref":"ida_kernwin.disasm_line_t.is_default",
"url":17,
"doc":"is_default"
},
{
"ref":"ida_kernwin.py_chooser_base_t_get_row",
"url":17,
"doc":"py_chooser_base_t_get_row(chobj, n) -> PyObject  @param chobj: chooser_base_t const  @param n: size_t",
"func":1
},
{
"ref":"ida_kernwin.gen_disasm_text",
"url":17,
"doc":"gen_disasm_text(text, ea1, ea2, truncate_lines) Generate disassembly text for a range. @param text: (C : text_t &) result @param ea1: (C : ea_t) start address @param ea2: (C : ea_t) end address @param truncate_lines: (C : bool) (on idainfo margin)",
"func":1
},
{
"ref":"ida_kernwin.set_nav_colorizer",
"url":17,
"doc":"set_nav_colorizer(new_py_colorizer) -> dict or None Set a new colorizer for the navigation band. The 'callback' is a function of 2 arguments: - ea (the EA to colorize for) - nbytes (the number of bytes at that EA) and must return a 'long' value. The previous colorizer is returned, allowing the new 'callback' to use 'call_nav_colorizer' with it. Note that the previous colorizer is returned only the first time set_nav_colorizer() is called: due to the way the colorizers API is defined in C, it is impossible to chain more than 2 colorizers in IDAPython: the original, IDA-provided colorizer, and a user-provided one. Example: colorizer inverting the color provided by the IDA colorizer: def my_colorizer(ea, nbytes): global ida_colorizer orig = idaapi.call_nav_colorizer(ida_colorizer, ea, nbytes) return long(~orig) ida_colorizer = idaapi.set_nav_colorizer(my_colorizer) @param new_py_colorizer: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.call_nav_colorizer",
"url":17,
"doc":"call_nav_colorizer(dict, ea, nbytes) -> uint32 To be used with the IDA-provided colorizer, that is returned as result of the first call to set_nav_colorizer(). @param dict: PyObject  @param ea: ea_t @param nbytes: asize_t",
"func":1
},
{
"ref":"ida_kernwin.msg_get_lines",
"url":17,
"doc":"msg_get_lines(count=-1) -> PyObject Retrieve the last 'count' lines from the output window, in reverse order (from most recent, to least recent) @param count: (C : int) The number of lines to retrieve. -1 means: all",
"func":1
},
{
"ref":"ida_kernwin.TWidget__from_ptrval__",
"url":17,
"doc":"TWidget__from_ptrval__(ptrval) -> TWidget  @param ptrval: size_t",
"func":1
},
{
"ref":"ida_kernwin.add_spaces",
"url":17,
"doc":"add_spaces(s, len) -> str Add space characters to the colored string so that its length will be at least 'len' characters. Don't trim the string if it is longer than 'len'. @param str: (C : char  ) pointer to colored string to modify (may not be nullptr) @param len: (C : ssize_t) the desired length of the string @return: pointer to the end of input string",
"func":1
},
{
"ref":"ida_kernwin.show_wait_box",
"url":17,
"doc":"show_wait_box(message) Display a dialog box with \"Please wait .\". The behavior of the dialog box can be configured with well-known tokens, that should be placed at the start of the format string: \"NODELAY\\n\": the dialog will show immediately, instead of appearing after usual grace threshold \"HIDECANCEL\\n\": the cancel button won't be added to the dialog box and user_cancelled() will always return false (but can be called to refresh UI) Using \"HIDECANCEL\" implies \"NODELAY\" Plugins must call hide_wait_box() to close the dialog box, otherwise the user interface will remain disabled. Note that, if the wait dialog is already visible, show_wait_box() will 1) push the currently-displayed text on a stack 2) display the new text Then, when hide_wait_box() is called, if that stack isn't empty its top label will be popped and restored in the wait dialog. This implies that a plugin should call hide_wait_box() exactly as many times as it called show_wait_box(), or the wait dialog might remain visible and block the UI. Also, in case the plugin knows the wait dialog is currently displayed, alternatively it can call replace_wait_box(), to replace the text of the dialog without pushing the currently-displayed text on the stack. @param message: char const  ",
"func":1
},
{
"ref":"ida_kernwin.hide_wait_box",
"url":17,
"doc":"hide_wait_box() Hide the \"Please wait dialog box\".",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t",
"url":17,
"doc":"Proxy of C qvector class. __init__(self) -> line_rendering_output_entries_refs_t __init__(self, x) -> line_rendering_output_entries_refs_t @param x: qvector const &"
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t.push_back",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t.pop_back",
"url":17,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t.size",
"url":17,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t.empty",
"url":17,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t.at",
"url":17,
"doc":"at(self, _idx) -> line_rendering_output_entry_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t.qclear",
"url":17,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t.clear",
"url":17,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t.resize",
"url":17,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: line_rendering_output_entry_t  const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t.capacity",
"url":17,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t.reserve",
"url":17,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t.truncate",
"url":17,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t.swap",
"url":17,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t.extract",
"url":17,
"doc":"extract(self) -> line_rendering_output_entry_t  ",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t.inject",
"url":17,
"doc":"inject(self, s, len) @param s: line_rendering_output_entry_t  @param len: size_t",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t.begin",
"url":17,
"doc":"begin(self) -> qvector  iterator begin(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t.end",
"url":17,
"doc":"end(self) -> qvector  iterator end(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t.insert",
"url":17,
"doc":"insert(self, it, x) -> qvector  iterator @param it: qvector  iterator @param x: line_rendering_output_entry_t  const &",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t.erase",
"url":17,
"doc":"erase(self, it) -> qvector  iterator @param it: qvector  iterator erase(self, first, last) -> qvector  iterator @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t.find",
"url":17,
"doc":"find(self, x) -> qvector  iterator @param x: line_rendering_output_entry_t  const & find(self, x) -> qvector  const_iterator @param x: line_rendering_output_entry_t  const &",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t.has",
"url":17,
"doc":"has(self, x) -> bool @param x: line_rendering_output_entry_t  const &",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t.add_unique",
"url":17,
"doc":"add_unique(self, x) -> bool @param x: line_rendering_output_entry_t  const &",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t.front",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entries_refs_t.back",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.section_lines_refs_t",
"url":17,
"doc":"Proxy of C qvector class. __init__(self) -> section_lines_refs_t __init__(self, x) -> section_lines_refs_t @param x: qvector const &"
},
{
"ref":"ida_kernwin.section_lines_refs_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.section_lines_refs_t.push_back",
"url":17,
"doc":"push_back(self, x) @param x: twinline_t const  const & push_back(self) -> twinline_t const  &",
"func":1
},
{
"ref":"ida_kernwin.section_lines_refs_t.pop_back",
"url":17,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_kernwin.section_lines_refs_t.size",
"url":17,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_kernwin.section_lines_refs_t.empty",
"url":17,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.section_lines_refs_t.at",
"url":17,
"doc":"at(self, _idx) -> twinline_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_kernwin.section_lines_refs_t.qclear",
"url":17,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_kernwin.section_lines_refs_t.clear",
"url":17,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_kernwin.section_lines_refs_t.resize",
"url":17,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: twinline_t const  const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_kernwin.section_lines_refs_t.capacity",
"url":17,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_kernwin.section_lines_refs_t.reserve",
"url":17,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_kernwin.section_lines_refs_t.truncate",
"url":17,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_kernwin.section_lines_refs_t.swap",
"url":17,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_kernwin.section_lines_refs_t.extract",
"url":17,
"doc":"extract(self) -> twinline_t const  ",
"func":1
},
{
"ref":"ida_kernwin.section_lines_refs_t.inject",
"url":17,
"doc":"inject(self, s, len) @param s: twinline_t const  @param len: size_t",
"func":1
},
{
"ref":"ida_kernwin.section_lines_refs_t.begin",
"url":17,
"doc":"begin(self) -> qvector  iterator begin(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_kernwin.section_lines_refs_t.end",
"url":17,
"doc":"end(self) -> qvector  iterator end(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_kernwin.section_lines_refs_t.insert",
"url":17,
"doc":"insert(self, it, x) -> qvector  iterator @param it: qvector  iterator @param x: twinline_t const  const &",
"func":1
},
{
"ref":"ida_kernwin.section_lines_refs_t.erase",
"url":17,
"doc":"erase(self, it) -> qvector  iterator @param it: qvector  iterator erase(self, first, last) -> qvector  iterator @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_kernwin.section_lines_refs_t.find",
"url":17,
"doc":"find(self, x) -> qvector  iterator @param x: twinline_t const  const & find(self, x) -> qvector  const_iterator @param x: twinline_t const  const &",
"func":1
},
{
"ref":"ida_kernwin.section_lines_refs_t.has",
"url":17,
"doc":"has(self, x) -> bool @param x: twinline_t const  const &",
"func":1
},
{
"ref":"ida_kernwin.section_lines_refs_t.add_unique",
"url":17,
"doc":"add_unique(self, x) -> bool @param x: twinline_t const  const &",
"func":1
},
{
"ref":"ida_kernwin.section_lines_refs_t.front",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.section_lines_refs_t.back",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.sections_lines_refs_t",
"url":17,
"doc":"Proxy of C qvector class. __init__(self) -> sections_lines_refs_t __init__(self, x) -> sections_lines_refs_t @param x: qvector const &"
},
{
"ref":"ida_kernwin.sections_lines_refs_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.sections_lines_refs_t.push_back",
"url":17,
"doc":"push_back(self, x) @param x: section_lines_refs_t const & push_back(self) -> section_lines_refs_t",
"func":1
},
{
"ref":"ida_kernwin.sections_lines_refs_t.pop_back",
"url":17,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_kernwin.sections_lines_refs_t.size",
"url":17,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_kernwin.sections_lines_refs_t.empty",
"url":17,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.sections_lines_refs_t.at",
"url":17,
"doc":"at(self, _idx) -> section_lines_refs_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_kernwin.sections_lines_refs_t.qclear",
"url":17,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_kernwin.sections_lines_refs_t.clear",
"url":17,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_kernwin.sections_lines_refs_t.resize",
"url":17,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: section_lines_refs_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_kernwin.sections_lines_refs_t.grow",
"url":17,
"doc":"grow(self, x=section_lines_refs_t( @param x: section_lines_refs_t const &",
"func":1
},
{
"ref":"ida_kernwin.sections_lines_refs_t.capacity",
"url":17,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_kernwin.sections_lines_refs_t.reserve",
"url":17,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_kernwin.sections_lines_refs_t.truncate",
"url":17,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_kernwin.sections_lines_refs_t.swap",
"url":17,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_kernwin.sections_lines_refs_t.extract",
"url":17,
"doc":"extract(self) -> section_lines_refs_t",
"func":1
},
{
"ref":"ida_kernwin.sections_lines_refs_t.inject",
"url":17,
"doc":"inject(self, s, len) @param s: section_lines_refs_t  @param len: size_t",
"func":1
},
{
"ref":"ida_kernwin.sections_lines_refs_t.begin",
"url":17,
"doc":"begin(self) -> qvector  iterator begin(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_kernwin.sections_lines_refs_t.end",
"url":17,
"doc":"end(self) -> qvector  iterator end(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_kernwin.sections_lines_refs_t.insert",
"url":17,
"doc":"insert(self, it, x) -> qvector  iterator @param it: qvector  iterator @param x: section_lines_refs_t const &",
"func":1
},
{
"ref":"ida_kernwin.sections_lines_refs_t.erase",
"url":17,
"doc":"erase(self, it) -> qvector  iterator @param it: qvector  iterator erase(self, first, last) -> qvector  iterator @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_kernwin.sections_lines_refs_t.find",
"url":17,
"doc":"find(self, x) -> qvector  iterator @param x: section_lines_refs_t const & find(self, x) -> qvector  const_iterator @param x: section_lines_refs_t const &",
"func":1
},
{
"ref":"ida_kernwin.sections_lines_refs_t.has",
"url":17,
"doc":"has(self, x) -> bool @param x: section_lines_refs_t const &",
"func":1
},
{
"ref":"ida_kernwin.sections_lines_refs_t.add_unique",
"url":17,
"doc":"add_unique(self, x) -> bool @param x: section_lines_refs_t const &",
"func":1
},
{
"ref":"ida_kernwin.sections_lines_refs_t.front",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.sections_lines_refs_t.back",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.text_t",
"url":17,
"doc":"Proxy of C qvector class. __init__(self) -> text_t __init__(self, x) -> text_t @param x: qvector const &"
},
{
"ref":"ida_kernwin.text_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.text_t.push_back",
"url":17,
"doc":"push_back(self, x) @param x: twinline_t const & push_back(self) -> twinline_t",
"func":1
},
{
"ref":"ida_kernwin.text_t.pop_back",
"url":17,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_kernwin.text_t.size",
"url":17,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_kernwin.text_t.empty",
"url":17,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.text_t.at",
"url":17,
"doc":"at(self, _idx) -> twinline_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_kernwin.text_t.qclear",
"url":17,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_kernwin.text_t.clear",
"url":17,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_kernwin.text_t.resize",
"url":17,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: twinline_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_kernwin.text_t.grow",
"url":17,
"doc":"grow(self, x=twinline_t( @param x: twinline_t const &",
"func":1
},
{
"ref":"ida_kernwin.text_t.capacity",
"url":17,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_kernwin.text_t.reserve",
"url":17,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_kernwin.text_t.truncate",
"url":17,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_kernwin.text_t.swap",
"url":17,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_kernwin.text_t.extract",
"url":17,
"doc":"extract(self) -> twinline_t",
"func":1
},
{
"ref":"ida_kernwin.text_t.inject",
"url":17,
"doc":"inject(self, s, len) @param s: twinline_t  @param len: size_t",
"func":1
},
{
"ref":"ida_kernwin.text_t.begin",
"url":17,
"doc":"begin(self) -> twinline_t",
"func":1
},
{
"ref":"ida_kernwin.text_t.end",
"url":17,
"doc":"end(self) -> twinline_t",
"func":1
},
{
"ref":"ida_kernwin.text_t.insert",
"url":17,
"doc":"insert(self, it, x) -> twinline_t @param it: qvector  iterator @param x: twinline_t const &",
"func":1
},
{
"ref":"ida_kernwin.text_t.erase",
"url":17,
"doc":"erase(self, it) -> twinline_t @param it: qvector  iterator erase(self, first, last) -> twinline_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_kernwin.text_t.front",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.text_t.back",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.sync_source_vec_t",
"url":17,
"doc":"Proxy of C qvector class. __init__(self) -> sync_source_vec_t __init__(self, x) -> sync_source_vec_t @param x: qvector const &"
},
{
"ref":"ida_kernwin.sync_source_vec_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.sync_source_vec_t.push_back",
"url":17,
"doc":"push_back(self, x) @param x: sync_source_t const &",
"func":1
},
{
"ref":"ida_kernwin.sync_source_vec_t.pop_back",
"url":17,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_kernwin.sync_source_vec_t.size",
"url":17,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_kernwin.sync_source_vec_t.empty",
"url":17,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.sync_source_vec_t.at",
"url":17,
"doc":"at(self, _idx) -> sync_source_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_kernwin.sync_source_vec_t.qclear",
"url":17,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_kernwin.sync_source_vec_t.clear",
"url":17,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_kernwin.sync_source_vec_t.capacity",
"url":17,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_kernwin.sync_source_vec_t.reserve",
"url":17,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_kernwin.sync_source_vec_t.truncate",
"url":17,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_kernwin.sync_source_vec_t.swap",
"url":17,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_kernwin.sync_source_vec_t.extract",
"url":17,
"doc":"extract(self) -> sync_source_t",
"func":1
},
{
"ref":"ida_kernwin.sync_source_vec_t.inject",
"url":17,
"doc":"inject(self, s, len) @param s: sync_source_t  @param len: size_t",
"func":1
},
{
"ref":"ida_kernwin.sync_source_vec_t.begin",
"url":17,
"doc":"begin(self) -> sync_source_t",
"func":1
},
{
"ref":"ida_kernwin.sync_source_vec_t.end",
"url":17,
"doc":"end(self) -> sync_source_t",
"func":1
},
{
"ref":"ida_kernwin.sync_source_vec_t.insert",
"url":17,
"doc":"insert(self, it, x) -> sync_source_t @param it: qvector  iterator @param x: sync_source_t const &",
"func":1
},
{
"ref":"ida_kernwin.sync_source_vec_t.erase",
"url":17,
"doc":"erase(self, it) -> sync_source_t @param it: qvector  iterator erase(self, first, last) -> sync_source_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_kernwin.sync_source_vec_t.find",
"url":17,
"doc":"find(self, x) -> sync_source_t @param x: sync_source_t const &",
"func":1
},
{
"ref":"ida_kernwin.sync_source_vec_t.has",
"url":17,
"doc":"has(self, x) -> bool @param x: sync_source_t const &",
"func":1
},
{
"ref":"ida_kernwin.sync_source_vec_t.add_unique",
"url":17,
"doc":"add_unique(self, x) -> bool @param x: sync_source_t const &",
"func":1
},
{
"ref":"ida_kernwin.sync_source_vec_t.front",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.sync_source_vec_t.back",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.mbox_internal",
"url":17,
"doc":"internal error"
},
{
"ref":"ida_kernwin.chtype_generic",
"url":17,
"doc":"the generic choose() function"
},
{
"ref":"ida_kernwin.chtype_idasgn",
"url":17,
"doc":"see choose_idasgn()"
},
{
"ref":"ida_kernwin.chtype_entry",
"url":17,
"doc":"see choose_entry()"
},
{
"ref":"ida_kernwin.chtype_name",
"url":17,
"doc":"see choose_name()"
},
{
"ref":"ida_kernwin.chtype_stkvar_xref",
"url":17,
"doc":"see choose_stkvar_xref()"
},
{
"ref":"ida_kernwin.chtype_xref",
"url":17,
"doc":"see choose_xref()"
},
{
"ref":"ida_kernwin.chtype_func",
"url":17,
"doc":"see choose_func()"
},
{
"ref":"ida_kernwin.chtype_segm",
"url":17,
"doc":"see choose_segm()"
},
{
"ref":"ida_kernwin.chtype_strpath",
"url":17,
"doc":"see choose_struc_path()"
},
{
"ref":"ida_kernwin.chtype_idatil",
"url":17,
"doc":"see choose_til()"
},
{
"ref":"ida_kernwin.chtype_srcp",
"url":17,
"doc":"see choose_srcp()"
},
{
"ref":"ida_kernwin.chtype_struct",
"url":17,
"doc":"see choose_struct()"
},
{
"ref":"ida_kernwin.chtype_enum",
"url":17,
"doc":"see choose_enum()"
},
{
"ref":"ida_kernwin.chtype_enum_by_value_and_size",
"url":17,
"doc":"see choose_enum_by_value()"
},
{
"ref":"ida_kernwin.TCCRT_INVALID",
"url":17,
"doc":"invalid"
},
{
"ref":"ida_kernwin.TCCRT_FLAT",
"url":17,
"doc":"flat view"
},
{
"ref":"ida_kernwin.TCCRT_GRAPH",
"url":17,
"doc":"graph view"
},
{
"ref":"ida_kernwin.TCCRT_PROXIMITY",
"url":17,
"doc":"proximity view"
},
{
"ref":"ida_kernwin.TCCPT_INVALID",
"url":17,
"doc":"invalid"
},
{
"ref":"ida_kernwin.TCCPT_PLACE",
"url":17,
"doc":"place_t"
},
{
"ref":"ida_kernwin.TCCPT_SIMPLELINE_PLACE",
"url":17,
"doc":"simpleline_place_t"
},
{
"ref":"ida_kernwin.TCCPT_IDAPLACE",
"url":17,
"doc":"idaplace_t"
},
{
"ref":"ida_kernwin.TCCPT_TIPLACE",
"url":17,
"doc":"tiplace_t"
},
{
"ref":"ida_kernwin.VME_UNKNOWN",
"url":17,
"doc":"unknown mouse button"
},
{
"ref":"ida_kernwin.VME_LEFT_BUTTON",
"url":17,
"doc":"left mouse button"
},
{
"ref":"ida_kernwin.VME_RIGHT_BUTTON",
"url":17,
"doc":"right mouse button"
},
{
"ref":"ida_kernwin.VME_MID_BUTTON",
"url":17,
"doc":"middle mouse button"
},
{
"ref":"ida_kernwin.SETMENU_INS",
"url":17,
"doc":"add menu item before the specified path (default)"
},
{
"ref":"ida_kernwin.SETMENU_APP",
"url":17,
"doc":"add menu item after the specified path"
},
{
"ref":"ida_kernwin.SETMENU_FIRST",
"url":17,
"doc":"add item to the beginning of menu"
},
{
"ref":"ida_kernwin.SETMENU_ENSURE_SEP",
"url":17,
"doc":"make sure there is a separator before the action"
},
{
"ref":"ida_kernwin.CREATETB_ADV",
"url":17,
"doc":"toolbar is for 'advanced mode' only"
},
{
"ref":"ida_kernwin.HIF_IDENTIFIER",
"url":17,
"doc":"text is an identifier (i.e., when searching for the current highlight, SEARCH_IDENT will be used)"
},
{
"ref":"ida_kernwin.HIF_REGISTER",
"url":17,
"doc":"text represents a register (aliases/subregisters will be highlit as well)"
},
{
"ref":"ida_kernwin.HIF_LOCKED",
"url":17,
"doc":"locked; clicking/moving the cursor around doesn't change the highlight"
},
{
"ref":"ida_kernwin.HIF_NOCASE",
"url":17,
"doc":"case insensitive"
},
{
"ref":"ida_kernwin.HIF_USE_SLOT",
"url":17,
"doc":"use the given number, or just use the \"floating\" highlight"
},
{
"ref":"ida_kernwin.HIF_SLOT_SHIFT",
"url":17,
"doc":"position of the 3 top bits specifying which highlight to use"
},
{
"ref":"ida_kernwin.HIF_SLOT_0",
"url":17,
"doc":"operate on slot 0"
},
{
"ref":"ida_kernwin.HIF_SLOT_1",
"url":17,
"doc":"operate on slot 1"
},
{
"ref":"ida_kernwin.HIF_SLOT_2",
"url":17,
"doc":"operate on slot 2"
},
{
"ref":"ida_kernwin.HIF_SLOT_3",
"url":17,
"doc":"operate on slot 3"
},
{
"ref":"ida_kernwin.HIF_SLOT_4",
"url":17,
"doc":"operate on slot 4"
},
{
"ref":"ida_kernwin.HIF_SLOT_5",
"url":17,
"doc":"operate on slot 5"
},
{
"ref":"ida_kernwin.HIF_SLOT_6",
"url":17,
"doc":"operate on slot 6"
},
{
"ref":"ida_kernwin.HIF_SLOT_7",
"url":17,
"doc":"operate on slot 7"
},
{
"ref":"ida_kernwin.CDVF_NOLINES",
"url":17,
"doc":"don't show line numbers"
},
{
"ref":"ida_kernwin.CDVF_LINEICONS",
"url":17,
"doc":"icons can be drawn over the line control"
},
{
"ref":"ida_kernwin.CDVF_STATUSBAR",
"url":17,
"doc":"keep the status bar in the custom viewer"
},
{
"ref":"ida_kernwin.IDCHK_OK",
"url":17,
"doc":"ok"
},
{
"ref":"ida_kernwin.IDCHK_ARG",
"url":17,
"doc":"bad argument(s)"
},
{
"ref":"ida_kernwin.IDCHK_KEY",
"url":17,
"doc":"bad hotkey name"
},
{
"ref":"ida_kernwin.IDCHK_MAX",
"url":17,
"doc":"too many IDC hotkeys"
},
{
"ref":"ida_kernwin.WCLS_SAVE",
"url":17,
"doc":"save state in desktop config"
},
{
"ref":"ida_kernwin.WCLS_NO_CONTEXT",
"url":17,
"doc":"don't change the current context (useful for toolbars)"
},
{
"ref":"ida_kernwin.WCLS_DONT_SAVE_SIZE",
"url":17,
"doc":"don't save size of the window"
},
{
"ref":"ida_kernwin.WCLS_DELETE_LATER",
"url":17,
"doc":"assign the deletion of the widget to the UI loop  /<"
},
{
"ref":"ida_kernwin.DP_LEFT",
"url":17,
"doc":"Dock src_form to the left of dest_form."
},
{
"ref":"ida_kernwin.DP_TOP",
"url":17,
"doc":"Dock src_form above dest_form."
},
{
"ref":"ida_kernwin.DP_RIGHT",
"url":17,
"doc":"Dock src_form to the right of dest_form."
},
{
"ref":"ida_kernwin.DP_BOTTOM",
"url":17,
"doc":"Dock src_form below dest_form."
},
{
"ref":"ida_kernwin.DP_INSIDE",
"url":17,
"doc":"Create a new tab bar with both src_form and dest_form."
},
{
"ref":"ida_kernwin.DP_TAB",
"url":17,
"doc":"Place src_form into a tab next to dest_form, if dest_form is in a tab bar (otherwise the same as DP_INSIDE)"
},
{
"ref":"ida_kernwin.DP_BEFORE",
"url":17,
"doc":"Place src_form before dst_form in the tab bar instead of after; used with DP_INSIDE or DP_TAB."
},
{
"ref":"ida_kernwin.DP_FLOATING",
"url":17,
"doc":"Make src_form floating."
},
{
"ref":"ida_kernwin.DP_SZHINT",
"url":17,
"doc":"When floating or in a splitter (i.e., not tabbed), use the widget's size hint to determine the best geometry (Qt only)"
},
{
"ref":"ida_kernwin.SVF_COPY_LINES",
"url":17,
"doc":"keep a local copy of ' lines'"
},
{
"ref":"ida_kernwin.SVF_LINES_BYPTR",
"url":17,
"doc":"remember the 'lines' ptr. do not make a copy of ' lines'"
},
{
"ref":"ida_kernwin.CVNF_LAZY",
"url":17,
"doc":"try and move the cursor to a line displaying the place_t if possible. This might disregard the Y position in case of success"
},
{
"ref":"ida_kernwin.CVNF_JUMP",
"url":17,
"doc":"push the current position in this viewer's lochist_t before going to the new location"
},
{
"ref":"ida_kernwin.CVNF_ACT",
"url":17,
"doc":"activate (i.e., switch to) the viewer. Activation is performed before the new lochist_entry_t instance is actually copied to the viewer's lochist_t (otherwise, if the viewer was invisible its on_location_changed() handler wouldn't be called.)"
},
{
"ref":"ida_kernwin.WOPN_RESTORE",
"url":17,
"doc":"if the widget was the only widget in a floating area the last time it was closed, it will be restored as floating, with the same position+size as before"
},
{
"ref":"ida_kernwin.WOPN_PERSIST",
"url":17,
"doc":"widget will remain available when starting or stopping debugger sessions"
},
{
"ref":"ida_kernwin.WOPN_CLOSED_BY_ESC",
"url":17,
"doc":"override idagui.cfg:CLOSED_BY_ESC: esc will close"
},
{
"ref":"ida_kernwin.WOPN_NOT_CLOSED_BY_ESC",
"url":17,
"doc":"override idagui.cfg:CLOSED_BY_ESC: esc will not close"
},
{
"ref":"ida_kernwin.WOPN_DP_LEFT",
"url":17,
"doc":"Dock widget to the left of dest_ctrl."
},
{
"ref":"ida_kernwin.WOPN_DP_TOP",
"url":17,
"doc":"Dock widget above dest_ctrl."
},
{
"ref":"ida_kernwin.WOPN_DP_RIGHT",
"url":17,
"doc":"Dock widget to the right of dest_ctrl."
},
{
"ref":"ida_kernwin.WOPN_DP_BOTTOM",
"url":17,
"doc":"Dock widget below dest_ctrl."
},
{
"ref":"ida_kernwin.WOPN_DP_INSIDE",
"url":17,
"doc":"Create a new tab bar with both widget and dest_ctrl."
},
{
"ref":"ida_kernwin.WOPN_DP_TAB",
"url":17,
"doc":"Place widget into a tab next to dest_ctrl, if dest_ctrl is in a tab bar (otherwise the same as WOPN_DP_INSIDE)"
},
{
"ref":"ida_kernwin.WOPN_DP_BEFORE",
"url":17,
"doc":"Place widget before dst_form in the tab bar instead of after; used with WOPN_DP_INSIDE and WOPN_DP_TAB"
},
{
"ref":"ida_kernwin.WOPN_DP_FLOATING",
"url":17,
"doc":"Make widget floating."
},
{
"ref":"ida_kernwin.WOPN_DP_SZHINT",
"url":17,
"doc":"when floating or in a splitter (i.e., not tabbed), use the widget's size hint to determine the best geometry (Qt only)"
},
{
"ref":"ida_kernwin.RENADDR_IDA",
"url":17,
"doc":"dialog for \"IDA View\""
},
{
"ref":"ida_kernwin.RENADDR_HR",
"url":17,
"doc":"dialog for \"Pseudocode\"; additional flags:  0x01 Library function  0x02 Mark as decompiled"
},
{
"ref":"ida_kernwin.CVLF_USE_MOUSE",
"url":17,
"doc":"Fetch the location from the mouse, instead of caret in the listing."
},
{
"ref":"ida_kernwin.get_kernel_version",
"url":17,
"doc":"get_kernel_version() -> str Get IDA kernel version (in a string like \"5.1\").",
"func":1
},
{
"ref":"ida_kernwin.is_ida_library",
"url":17,
"doc":"is_ida_library(path, pathsize, handle) -> bool @param path: char  @param pathsize: size_t @param handle: void  ",
"func":1
},
{
"ref":"ida_kernwin.place_t",
"url":17,
"doc":"Proxy of C place_t class."
},
{
"ref":"ida_kernwin.place_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.place_t.lnnum",
"url":17,
"doc":"Number of line within the current object."
},
{
"ref":"ida_kernwin.place_t.touval",
"url":17,
"doc":"touval(self, ud) -> uval_t Map the location to a number. This mapping is used to draw the vertical scrollbar. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t",
"func":1
},
{
"ref":"ida_kernwin.place_t.clone",
"url":17,
"doc":"clone(self) -> place_t Clone the location. @return: a pointer to a copy of the current location in dynamic memory",
"func":1
},
{
"ref":"ida_kernwin.place_t.copyfrom",
"url":17,
"doc":"copyfrom(self, _from) Copy the specified location object to the current object. @param from: (C : const place_t  ) place_t const  ",
"func":1
},
{
"ref":"ida_kernwin.place_t.makeplace",
"url":17,
"doc":"makeplace(self, ud, x, lnnum) -> place_t Map a number to a location. When the user clicks on the scrollbar and drags it, we need to determine the location corresponding to the new scrollbar position. This function is used to determine it. It builds a location object for the specified 'x' and returns a pointer to it. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @param x: (C : uval_t) number to map @param lnnum: (C : int) line number to initialize 'lnnum' @return: a freshly allocated object. See also PCF_MAKEPLACE_ALLOCATES",
"func":1
},
{
"ref":"ida_kernwin.place_t.compare",
"url":17,
"doc":"compare(self, t2) -> int Deprecated. Please consider compare2(const place_t  , void  ) instead. @param t2: (C : const place_t  ) place_t const  ",
"func":1
},
{
"ref":"ida_kernwin.place_t.adjust",
"url":17,
"doc":"adjust(self, ud) Adjust the current location to point to a displayable object. This function validates the location and makes sure that it points to an existing object. For example, if the location points to the middle of an instruction, it will be adjusted to point to the beginning of the instruction. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t",
"func":1
},
{
"ref":"ida_kernwin.place_t.prev",
"url":17,
"doc":"prev(self, ud) -> bool Move to the previous displayable location. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @return: success",
"func":1
},
{
"ref":"ida_kernwin.place_t.next",
"url":17,
"doc":"next(self, ud) -> bool Move to the next displayable location. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @return: success",
"func":1
},
{
"ref":"ida_kernwin.place_t.beginning",
"url":17,
"doc":"beginning(self, ud) -> bool Are we at the first displayable object?. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @return: true if the current location points to the first displayable object",
"func":1
},
{
"ref":"ida_kernwin.place_t.ending",
"url":17,
"doc":"ending(self, ud) -> bool Are we at the last displayable object?. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @return: true if the current location points to the last displayable object",
"func":1
},
{
"ref":"ida_kernwin.place_t.serialize",
"url":17,
"doc":"serialize(self) Serialize this instance. It is fundamental that all instances of a particular subclass of of place_t occupy the same number of bytes when serialized.",
"func":1
},
{
"ref":"ida_kernwin.place_t.id",
"url":17,
"doc":"id(self) -> int Get the place's ID (i.e., the value returned by register_place_class( @return: the id",
"func":1
},
{
"ref":"ida_kernwin.place_t.name",
"url":17,
"doc":"name(self) -> char const  Get this place type name. All instances of a given class must return the same string. @return: the place type name. Please try and pick something that is not too generic, as it might clash w/ other plugins. A good practice is to prefix the class name with the name of your plugin. E.g., \"myplugin:srcplace_t\".",
"func":1
},
{
"ref":"ida_kernwin.place_t.toea",
"url":17,
"doc":"toea(self) -> ea_t Map the location to an ea_t. @return: the corresponding ea_t, or BADADDR;",
"func":1
},
{
"ref":"ida_kernwin.place_t.rebase",
"url":17,
"doc":"rebase(self, arg2) -> bool Rebase the place instance @param arg2: segm_move_infos_t const & @return: true if place was rebased, false otherwise",
"func":1
},
{
"ref":"ida_kernwin.place_t.enter",
"url":17,
"doc":"enter(self, arg2) -> place_t Visit this place, possibly 'unhiding' a section of text. If entering that place required some expanding, a place_t should be returned that represents that section, plus some flags for later use by 'leave()'. @param out_flags: flags to be used together with the place_t that is returned, in order to restore the section to its original state when leave() is called. @return: a place_t corresponding to the beginning of the section of text that had to be expanded. That place_t's leave() will be called with the flags contained in 'out_flags' when the user navigates away from it.",
"func":1
},
{
"ref":"ida_kernwin.place_t.leave",
"url":17,
"doc":"leave(self, arg2) Leave this place, possibly 'hiding' a section of text that was previously expanded (at enter()-time.) @param arg2: uint32",
"func":1
},
{
"ref":"ida_kernwin.place_t.compare2",
"url":17,
"doc":"compare2(self, t2, arg3) -> int Compare two locations except line numbers (lnnum). This function is used to organize loops. For example, if the user has selected an range, its boundaries are remembered as location objects. Any operation within the selection will have the following look: for ( loc=starting_location; loc < ending_location; loc.next() ) In this loop, the comparison function is used. @param t2: (C : const place_t  ) the place to compare this one to. @param arg3: void  ",
"func":1
},
{
"ref":"ida_kernwin.place_t.deserialize",
"url":17,
"doc":"deserialize(self, _in) -> bool De-serialize into this instance. 'pptr' should be incremented by as many bytes as de-serialization consumed. @param pptr: (C : const uchar  ) pointer to a serialized representation of a place_t of this type. @return: whether de-serialization was successful",
"func":1
},
{
"ref":"ida_kernwin.place_t.as_idaplace_t",
"url":17,
"doc":"as_idaplace_t(p) -> idaplace_t @param p: place_t  ",
"func":1
},
{
"ref":"ida_kernwin.place_t.as_simpleline_place_t",
"url":17,
"doc":"as_simpleline_place_t(p) -> simpleline_place_t @param p: place_t  ",
"func":1
},
{
"ref":"ida_kernwin.place_t.as_tiplace_t",
"url":17,
"doc":"as_tiplace_t(p) -> tiplace_t @param p: place_t  ",
"func":1
},
{
"ref":"ida_kernwin.place_t.generate",
"url":17,
"doc":"generate(self, ud, maxsize) -> ([str,  .], int, int, int) Generate text lines for the current location. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @param maxsize: (C : int) the maximum number of lines to generate @return: number of generated lines",
"func":1
},
{
"ref":"ida_kernwin.l_compare2",
"url":17,
"doc":"l_compare2(t1, t2, ud) -> int @param t1: place_t const  @param t2: place_t const  @param ud: void  ",
"func":1
},
{
"ref":"ida_kernwin.simpleline_t",
"url":17,
"doc":"Proxy of C simpleline_t class. __init__(self) -> simpleline_t __init__(self, c, str) -> simpleline_t @param c: color_t @param str: char const  __init__(self, str) -> simpleline_t @param str: char const  "
},
{
"ref":"ida_kernwin.simpleline_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.simpleline_t.line",
"url":17,
"doc":"line text"
},
{
"ref":"ida_kernwin.simpleline_t.color",
"url":17,
"doc":"line prefix color"
},
{
"ref":"ida_kernwin.simpleline_t.bgcolor",
"url":17,
"doc":"line background color"
},
{
"ref":"ida_kernwin.simpleline_place_t",
"url":17,
"doc":"Proxy of C simpleline_place_t class."
},
{
"ref":"ida_kernwin.simpleline_place_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.simpleline_place_t.n",
"url":17,
"doc":"line number"
},
{
"ref":"ida_kernwin.simpleline_place_t.lnnum",
"url":17,
"doc":"Number of line within the current object."
},
{
"ref":"ida_kernwin.simpleline_place_t.touval",
"url":17,
"doc":"touval(self, ud) -> uval_t Map the location to a number. This mapping is used to draw the vertical scrollbar. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t",
"func":1
},
{
"ref":"ida_kernwin.simpleline_place_t.clone",
"url":17,
"doc":"clone(self) -> place_t Clone the location. @return: a pointer to a copy of the current location in dynamic memory",
"func":1
},
{
"ref":"ida_kernwin.simpleline_place_t.copyfrom",
"url":17,
"doc":"copyfrom(self, _from) Copy the specified location object to the current object. @param from: (C : const place_t  ) place_t const  ",
"func":1
},
{
"ref":"ida_kernwin.simpleline_place_t.makeplace",
"url":17,
"doc":"makeplace(self, ud, x, lnnum) -> place_t Map a number to a location. When the user clicks on the scrollbar and drags it, we need to determine the location corresponding to the new scrollbar position. This function is used to determine it. It builds a location object for the specified 'x' and returns a pointer to it. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @param x: (C : uval_t) number to map @param lnnum: (C : int) line number to initialize 'lnnum' @return: a freshly allocated object. See also PCF_MAKEPLACE_ALLOCATES",
"func":1
},
{
"ref":"ida_kernwin.simpleline_place_t.compare",
"url":17,
"doc":"compare(self, t2) -> int Deprecated. Please consider compare2(const place_t  , void  ) instead. @param t2: (C : const place_t  ) place_t const  ",
"func":1
},
{
"ref":"ida_kernwin.simpleline_place_t.adjust",
"url":17,
"doc":"adjust(self, ud) Adjust the current location to point to a displayable object. This function validates the location and makes sure that it points to an existing object. For example, if the location points to the middle of an instruction, it will be adjusted to point to the beginning of the instruction. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t",
"func":1
},
{
"ref":"ida_kernwin.simpleline_place_t.prev",
"url":17,
"doc":"prev(self, ud) -> bool Move to the previous displayable location. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @return: success",
"func":1
},
{
"ref":"ida_kernwin.simpleline_place_t.next",
"url":17,
"doc":"next(self, ud) -> bool Move to the next displayable location. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @return: success",
"func":1
},
{
"ref":"ida_kernwin.simpleline_place_t.beginning",
"url":17,
"doc":"beginning(self, ud) -> bool Are we at the first displayable object?. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @return: true if the current location points to the first displayable object",
"func":1
},
{
"ref":"ida_kernwin.simpleline_place_t.ending",
"url":17,
"doc":"ending(self, ud) -> bool Are we at the last displayable object?. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @return: true if the current location points to the last displayable object",
"func":1
},
{
"ref":"ida_kernwin.simpleline_place_t.serialize",
"url":17,
"doc":"serialize(self) Serialize this instance. It is fundamental that all instances of a particular subclass of of place_t occupy the same number of bytes when serialized.",
"func":1
},
{
"ref":"ida_kernwin.simpleline_place_t.id",
"url":17,
"doc":"id(self) -> int Get the place's ID (i.e., the value returned by register_place_class( @return: the id",
"func":1
},
{
"ref":"ida_kernwin.simpleline_place_t.name",
"url":17,
"doc":"name(self) -> char const  Get this place type name. All instances of a given class must return the same string. @return: the place type name. Please try and pick something that is not too generic, as it might clash w/ other plugins. A good practice is to prefix the class name with the name of your plugin. E.g., \"myplugin:srcplace_t\".",
"func":1
},
{
"ref":"ida_kernwin.simpleline_place_t.toea",
"url":17,
"doc":"toea(self) -> ea_t Map the location to an ea_t. @return: the corresponding ea_t, or BADADDR;",
"func":1
},
{
"ref":"ida_kernwin.simpleline_place_t.rebase",
"url":17,
"doc":"rebase(self, arg2) -> bool Rebase the place instance @param arg2: segm_move_infos_t const & @return: true if place was rebased, false otherwise",
"func":1
},
{
"ref":"ida_kernwin.simpleline_place_t.enter",
"url":17,
"doc":"enter(self, arg2) -> place_t Visit this place, possibly 'unhiding' a section of text. If entering that place required some expanding, a place_t should be returned that represents that section, plus some flags for later use by 'leave()'. @param out_flags: flags to be used together with the place_t that is returned, in order to restore the section to its original state when leave() is called. @return: a place_t corresponding to the beginning of the section of text that had to be expanded. That place_t's leave() will be called with the flags contained in 'out_flags' when the user navigates away from it.",
"func":1
},
{
"ref":"ida_kernwin.simpleline_place_t.leave",
"url":17,
"doc":"leave(self, arg2) Leave this place, possibly 'hiding' a section of text that was previously expanded (at enter()-time.) @param arg2: uint32",
"func":1
},
{
"ref":"ida_kernwin.simpleline_place_t.compare2",
"url":17,
"doc":"compare2(self, t2, arg3) -> int Compare two locations except line numbers (lnnum). This function is used to organize loops. For example, if the user has selected an range, its boundaries are remembered as location objects. Any operation within the selection will have the following look: for ( loc=starting_location; loc < ending_location; loc.next() ) In this loop, the comparison function is used. @param t2: (C : const place_t  ) the place to compare this one to. @param arg3: void  ",
"func":1
},
{
"ref":"ida_kernwin.simpleline_place_t.deserialize",
"url":17,
"doc":"deserialize(self, _in) -> bool De-serialize into this instance. 'pptr' should be incremented by as many bytes as de-serialization consumed. @param pptr: (C : const uchar  ) pointer to a serialized representation of a place_t of this type. @return: whether de-serialization was successful",
"func":1
},
{
"ref":"ida_kernwin.simpleline_place_t.as_idaplace_t",
"url":17,
"doc":"as_idaplace_t(p) -> idaplace_t @param p: place_t  ",
"func":1
},
{
"ref":"ida_kernwin.simpleline_place_t.as_simpleline_place_t",
"url":17,
"doc":"as_simpleline_place_t(p) -> simpleline_place_t @param p: place_t  ",
"func":1
},
{
"ref":"ida_kernwin.simpleline_place_t.as_tiplace_t",
"url":17,
"doc":"as_tiplace_t(p) -> tiplace_t @param p: place_t  ",
"func":1
},
{
"ref":"ida_kernwin.simpleline_place_t.generate",
"url":17,
"doc":"generate(self, ud, maxsize) -> ([str,  .], int, int, int) Generate text lines for the current location. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @param maxsize: (C : int) the maximum number of lines to generate @return: number of generated lines",
"func":1
},
{
"ref":"ida_kernwin.idaplace_t",
"url":17,
"doc":"Proxy of C idaplace_t class."
},
{
"ref":"ida_kernwin.idaplace_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.idaplace_t.ea",
"url":17,
"doc":"address"
},
{
"ref":"ida_kernwin.idaplace_t.lnnum",
"url":17,
"doc":"Number of line within the current object."
},
{
"ref":"ida_kernwin.idaplace_t.touval",
"url":17,
"doc":"touval(self, ud) -> uval_t Map the location to a number. This mapping is used to draw the vertical scrollbar. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t",
"func":1
},
{
"ref":"ida_kernwin.idaplace_t.clone",
"url":17,
"doc":"clone(self) -> place_t Clone the location. @return: a pointer to a copy of the current location in dynamic memory",
"func":1
},
{
"ref":"ida_kernwin.idaplace_t.copyfrom",
"url":17,
"doc":"copyfrom(self, _from) Copy the specified location object to the current object. @param from: (C : const place_t  ) place_t const  ",
"func":1
},
{
"ref":"ida_kernwin.idaplace_t.makeplace",
"url":17,
"doc":"makeplace(self, ud, x, lnnum) -> place_t Map a number to a location. When the user clicks on the scrollbar and drags it, we need to determine the location corresponding to the new scrollbar position. This function is used to determine it. It builds a location object for the specified 'x' and returns a pointer to it. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @param x: (C : uval_t) number to map @param lnnum: (C : int) line number to initialize 'lnnum' @return: a freshly allocated object. See also PCF_MAKEPLACE_ALLOCATES",
"func":1
},
{
"ref":"ida_kernwin.idaplace_t.compare",
"url":17,
"doc":"compare(self, t2) -> int Deprecated. Please consider compare2(const place_t  , void  ) instead. @param t2: (C : const place_t  ) place_t const  ",
"func":1
},
{
"ref":"ida_kernwin.idaplace_t.adjust",
"url":17,
"doc":"adjust(self, ud) Adjust the current location to point to a displayable object. This function validates the location and makes sure that it points to an existing object. For example, if the location points to the middle of an instruction, it will be adjusted to point to the beginning of the instruction. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t",
"func":1
},
{
"ref":"ida_kernwin.idaplace_t.prev",
"url":17,
"doc":"prev(self, ud) -> bool Move to the previous displayable location. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @return: success",
"func":1
},
{
"ref":"ida_kernwin.idaplace_t.next",
"url":17,
"doc":"next(self, ud) -> bool Move to the next displayable location. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @return: success",
"func":1
},
{
"ref":"ida_kernwin.idaplace_t.beginning",
"url":17,
"doc":"beginning(self, ud) -> bool Are we at the first displayable object?. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @return: true if the current location points to the first displayable object",
"func":1
},
{
"ref":"ida_kernwin.idaplace_t.ending",
"url":17,
"doc":"ending(self, ud) -> bool Are we at the last displayable object?. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @return: true if the current location points to the last displayable object",
"func":1
},
{
"ref":"ida_kernwin.idaplace_t.serialize",
"url":17,
"doc":"serialize(self) Serialize this instance. It is fundamental that all instances of a particular subclass of of place_t occupy the same number of bytes when serialized.",
"func":1
},
{
"ref":"ida_kernwin.idaplace_t.id",
"url":17,
"doc":"id(self) -> int Get the place's ID (i.e., the value returned by register_place_class( @return: the id",
"func":1
},
{
"ref":"ida_kernwin.idaplace_t.name",
"url":17,
"doc":"name(self) -> char const  Get this place type name. All instances of a given class must return the same string. @return: the place type name. Please try and pick something that is not too generic, as it might clash w/ other plugins. A good practice is to prefix the class name with the name of your plugin. E.g., \"myplugin:srcplace_t\".",
"func":1
},
{
"ref":"ida_kernwin.idaplace_t.toea",
"url":17,
"doc":"toea(self) -> ea_t Map the location to an ea_t. @return: the corresponding ea_t, or BADADDR;",
"func":1
},
{
"ref":"ida_kernwin.idaplace_t.rebase",
"url":17,
"doc":"rebase(self, arg2) -> bool Rebase the place instance @param arg2: segm_move_infos_t const & @return: true if place was rebased, false otherwise",
"func":1
},
{
"ref":"ida_kernwin.idaplace_t.enter",
"url":17,
"doc":"enter(self, arg2) -> place_t Visit this place, possibly 'unhiding' a section of text. If entering that place required some expanding, a place_t should be returned that represents that section, plus some flags for later use by 'leave()'. @param out_flags: flags to be used together with the place_t that is returned, in order to restore the section to its original state when leave() is called. @return: a place_t corresponding to the beginning of the section of text that had to be expanded. That place_t's leave() will be called with the flags contained in 'out_flags' when the user navigates away from it.",
"func":1
},
{
"ref":"ida_kernwin.idaplace_t.leave",
"url":17,
"doc":"leave(self, arg2) Leave this place, possibly 'hiding' a section of text that was previously expanded (at enter()-time.) @param arg2: uint32",
"func":1
},
{
"ref":"ida_kernwin.idaplace_t.compare2",
"url":17,
"doc":"compare2(self, t2, arg3) -> int Compare two locations except line numbers (lnnum). This function is used to organize loops. For example, if the user has selected an range, its boundaries are remembered as location objects. Any operation within the selection will have the following look: for ( loc=starting_location; loc < ending_location; loc.next() ) In this loop, the comparison function is used. @param t2: (C : const place_t  ) the place to compare this one to. @param arg3: void  ",
"func":1
},
{
"ref":"ida_kernwin.idaplace_t.deserialize",
"url":17,
"doc":"deserialize(self, _in) -> bool De-serialize into this instance. 'pptr' should be incremented by as many bytes as de-serialization consumed. @param pptr: (C : const uchar  ) pointer to a serialized representation of a place_t of this type. @return: whether de-serialization was successful",
"func":1
},
{
"ref":"ida_kernwin.idaplace_t.as_idaplace_t",
"url":17,
"doc":"as_idaplace_t(p) -> idaplace_t @param p: place_t  ",
"func":1
},
{
"ref":"ida_kernwin.idaplace_t.as_simpleline_place_t",
"url":17,
"doc":"as_simpleline_place_t(p) -> simpleline_place_t @param p: place_t  ",
"func":1
},
{
"ref":"ida_kernwin.idaplace_t.as_tiplace_t",
"url":17,
"doc":"as_tiplace_t(p) -> tiplace_t @param p: place_t  ",
"func":1
},
{
"ref":"ida_kernwin.idaplace_t.generate",
"url":17,
"doc":"generate(self, ud, maxsize) -> ([str,  .], int, int, int) Generate text lines for the current location. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @param maxsize: (C : int) the maximum number of lines to generate @return: number of generated lines",
"func":1
},
{
"ref":"ida_kernwin.is_tif_cursor_header",
"url":17,
"doc":"is_tif_cursor_header(c) -> bool @param c: tif_cursor_t",
"func":1
},
{
"ref":"ida_kernwin.is_tif_cursor_footer",
"url":17,
"doc":"is_tif_cursor_footer(c) -> bool @param c: tif_cursor_t",
"func":1
},
{
"ref":"ida_kernwin.is_tif_cursor_index",
"url":17,
"doc":"is_tif_cursor_index(c) -> bool @param c: tif_cursor_t",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t",
"url":17,
"doc":"Proxy of C tiplace_t class."
},
{
"ref":"ida_kernwin.tiplace_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.tiplace_t.ordinal",
"url":17,
"doc":"ordinal"
},
{
"ref":"ida_kernwin.tiplace_t.cursor",
"url":17,
"doc":"cursor"
},
{
"ref":"ida_kernwin.tiplace_t.valid_ord",
"url":17,
"doc":"valid_ord(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.reset",
"url":17,
"doc":"reset(self)",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.is_header",
"url":17,
"doc":"is_header(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.is_footer",
"url":17,
"doc":"is_footer(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.is_index",
"url":17,
"doc":"is_index(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.set_header",
"url":17,
"doc":"set_header(self)",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.set_footer",
"url":17,
"doc":"set_footer(self)",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.calc_udm_offset",
"url":17,
"doc":"calc_udm_offset(self, ud, p_udmidx=None, p_bitoff=None) -> uint64 for structs: calculate the offset that corresponds to the tiplace. @param ud: (C : const void  ) pointer to user-defined context data. Is supplied by linearray_t @param p_udmidx: (C : ssize_t  ) place to return the index of the current udt member, if any. if there is no member at the current offset, return -1 @param p_bitoff: (C : int  ) place to return the bit offset of the item from the beginning of the bit bucket if there no bitfields, return -1 @return: the current offset or uint64(-1)",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.set_index_by_offset",
"url":17,
"doc":"set_index_by_offset(self, ud, offset) for structs: calculate the index that corresponds to the offset and set it. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @param offset: (C : uint64) offset of udt member",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.get_kind",
"url":17,
"doc":"get_kind(self, ud) -> type_t get the kind of type this place represents @param ud: (C : const void  ) pointer to user-defined context data. Is supplied by linearray_t @return: one of BTF_TYPEDEF, BTF_STRUCT, BTF_UNION, BTF_ENUM or BT_UNK",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.fill_type_ref",
"url":17,
"doc":"fill_type_ref(self, out, ud) -> bool fill the type information for use in actions @param out: (C : til_type_ref_t  ) pointer to storage @param ud: (C : const void  ) pointer to user-defined context data. Is supplied by linearray_t @return: success",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.lnnum",
"url":17,
"doc":"Number of line within the current object."
},
{
"ref":"ida_kernwin.tiplace_t.touval",
"url":17,
"doc":"touval(self, ud) -> uval_t Map the location to a number. This mapping is used to draw the vertical scrollbar. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.clone",
"url":17,
"doc":"clone(self) -> place_t Clone the location. @return: a pointer to a copy of the current location in dynamic memory",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.copyfrom",
"url":17,
"doc":"copyfrom(self, _from) Copy the specified location object to the current object. @param from: (C : const place_t  ) place_t const  ",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.makeplace",
"url":17,
"doc":"makeplace(self, ud, x, lnnum) -> place_t Map a number to a location. When the user clicks on the scrollbar and drags it, we need to determine the location corresponding to the new scrollbar position. This function is used to determine it. It builds a location object for the specified 'x' and returns a pointer to it. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @param x: (C : uval_t) number to map @param lnnum: (C : int) line number to initialize 'lnnum' @return: a freshly allocated object. See also PCF_MAKEPLACE_ALLOCATES",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.compare",
"url":17,
"doc":"compare(self, t2) -> int Deprecated. Please consider compare2(const place_t  , void  ) instead. @param t2: (C : const place_t  ) place_t const  ",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.adjust",
"url":17,
"doc":"adjust(self, ud) Adjust the current location to point to a displayable object. This function validates the location and makes sure that it points to an existing object. For example, if the location points to the middle of an instruction, it will be adjusted to point to the beginning of the instruction. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.prev",
"url":17,
"doc":"prev(self, ud) -> bool Move to the previous displayable location. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @return: success",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.next",
"url":17,
"doc":"next(self, ud) -> bool Move to the next displayable location. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @return: success",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.beginning",
"url":17,
"doc":"beginning(self, ud) -> bool Are we at the first displayable object?. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @return: true if the current location points to the first displayable object",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.ending",
"url":17,
"doc":"ending(self, ud) -> bool Are we at the last displayable object?. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @return: true if the current location points to the last displayable object",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.serialize",
"url":17,
"doc":"serialize(self) Serialize this instance. It is fundamental that all instances of a particular subclass of of place_t occupy the same number of bytes when serialized.",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.id",
"url":17,
"doc":"id(self) -> int Get the place's ID (i.e., the value returned by register_place_class( @return: the id",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.name",
"url":17,
"doc":"name(self) -> char const  Get this place type name. All instances of a given class must return the same string. @return: the place type name. Please try and pick something that is not too generic, as it might clash w/ other plugins. A good practice is to prefix the class name with the name of your plugin. E.g., \"myplugin:srcplace_t\".",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.toea",
"url":17,
"doc":"toea(self) -> ea_t Map the location to an ea_t. @return: the corresponding ea_t, or BADADDR;",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.rebase",
"url":17,
"doc":"rebase(self, arg2) -> bool Rebase the place instance @param arg2: segm_move_infos_t const & @return: true if place was rebased, false otherwise",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.enter",
"url":17,
"doc":"enter(self, arg2) -> place_t Visit this place, possibly 'unhiding' a section of text. If entering that place required some expanding, a place_t should be returned that represents that section, plus some flags for later use by 'leave()'. @param out_flags: flags to be used together with the place_t that is returned, in order to restore the section to its original state when leave() is called. @return: a place_t corresponding to the beginning of the section of text that had to be expanded. That place_t's leave() will be called with the flags contained in 'out_flags' when the user navigates away from it.",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.leave",
"url":17,
"doc":"leave(self, arg2) Leave this place, possibly 'hiding' a section of text that was previously expanded (at enter()-time.) @param arg2: uint32",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.compare2",
"url":17,
"doc":"compare2(self, t2, arg3) -> int Compare two locations except line numbers (lnnum). This function is used to organize loops. For example, if the user has selected an range, its boundaries are remembered as location objects. Any operation within the selection will have the following look: for ( loc=starting_location; loc < ending_location; loc.next() ) In this loop, the comparison function is used. @param t2: (C : const place_t  ) the place to compare this one to. @param arg3: void  ",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.deserialize",
"url":17,
"doc":"deserialize(self, _in) -> bool De-serialize into this instance. 'pptr' should be incremented by as many bytes as de-serialization consumed. @param pptr: (C : const uchar  ) pointer to a serialized representation of a place_t of this type. @return: whether de-serialization was successful",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.as_idaplace_t",
"url":17,
"doc":"as_idaplace_t(p) -> idaplace_t @param p: place_t  ",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.as_simpleline_place_t",
"url":17,
"doc":"as_simpleline_place_t(p) -> simpleline_place_t @param p: place_t  ",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.as_tiplace_t",
"url":17,
"doc":"as_tiplace_t(p) -> tiplace_t @param p: place_t  ",
"func":1
},
{
"ref":"ida_kernwin.tiplace_t.generate",
"url":17,
"doc":"generate(self, ud, maxsize) -> ([str,  .], int, int, int) Generate text lines for the current location. @param ud: (C : void  ) pointer to user-defined context data. Is supplied by linearray_t @param maxsize: (C : int) the maximum number of lines to generate @return: number of generated lines",
"func":1
},
{
"ref":"ida_kernwin.PCF_EA_CAPABLE",
"url":17,
"doc":"toea() implementation returns meaningful data"
},
{
"ref":"ida_kernwin.PCF_MAKEPLACE_ALLOCATES",
"url":17,
"doc":"makeplace() returns a freshly allocated (i.e., non-static) instance. All new code should pass that flag to register_place_class(), and the corresponding makeplace() class implementation should return new instances."
},
{
"ref":"ida_kernwin.internal_register_place_class",
"url":17,
"doc":"internal_register_place_class(tmplate, flags, owner, sdk_version) -> int @param tmplate: place_t const  @param flags: int @param owner: plugin_t const  @param sdk_version: int",
"func":1
},
{
"ref":"ida_kernwin.get_place_class",
"url":17,
"doc":"get_place_class(out_flags, out_sdk_version, id) -> place_t Get information about a previously-registered place_t class. See also register_place_class(). @param out_flags: (C : int  ) output flags (can be nullptr) @param out_sdk_version: (C : int  ) sdk version the place was created with (can be nullptr) @param id: (C : int) place class ID @return: the place_t template, or nullptr if not found",
"func":1
},
{
"ref":"ida_kernwin.get_place_class_template",
"url":17,
"doc":"get_place_class_template(id) -> place_t See get_place_class() @param id: (C : int)",
"func":1
},
{
"ref":"ida_kernwin.is_place_class_ea_capable",
"url":17,
"doc":"is_place_class_ea_capable(id) -> bool See get_place_class() @param id: (C : int)",
"func":1
},
{
"ref":"ida_kernwin.get_place_class_id",
"url":17,
"doc":"get_place_class_id(name) -> int Get the place class ID for the place that has been registered as 'name'. @param name: (C : const char  ) the class name @return: the place class ID, or -1 if not found",
"func":1
},
{
"ref":"ida_kernwin.sync_source_t",
"url":17,
"doc":"Proxy of C sync_source_t class. __init__(self, _view) -> sync_source_t @param _view: TWidget const  __init__(self, _regname) -> sync_source_t @param _regname: char const  "
},
{
"ref":"ida_kernwin.sync_source_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.sync_source_t.is_register",
"url":17,
"doc":"is_register(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.sync_source_t.is_widget",
"url":17,
"doc":"is_widget(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.sync_source_t.get_widget",
"url":17,
"doc":"get_widget(self) -> TWidget const  ",
"func":1
},
{
"ref":"ida_kernwin.sync_source_t.get_register",
"url":17,
"doc":"get_register(self) -> char const  ",
"func":1
},
{
"ref":"ida_kernwin.synced_group_t",
"url":17,
"doc":"Proxy of C synced_group_t class. __init__(self) -> synced_group_t"
},
{
"ref":"ida_kernwin.synced_group_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.synced_group_t.has_widget",
"url":17,
"doc":"has_widget(self, v) -> bool @param v: TWidget const  ",
"func":1
},
{
"ref":"ida_kernwin.synced_group_t.has_register",
"url":17,
"doc":"has_register(self, r) -> bool @param r: char const  ",
"func":1
},
{
"ref":"ida_kernwin.synced_group_t.has",
"url":17,
"doc":"has(self, ss) -> bool @param ss: sync_source_t const &",
"func":1
},
{
"ref":"ida_kernwin.synced_group_t.push_back",
"url":17,
"doc":"push_back(self, x) @param x: sync_source_t const &",
"func":1
},
{
"ref":"ida_kernwin.synced_group_t.pop_back",
"url":17,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_kernwin.synced_group_t.size",
"url":17,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_kernwin.synced_group_t.empty",
"url":17,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.synced_group_t.at",
"url":17,
"doc":"at(self, _idx) -> sync_source_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_kernwin.synced_group_t.qclear",
"url":17,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_kernwin.synced_group_t.clear",
"url":17,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_kernwin.synced_group_t.capacity",
"url":17,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_kernwin.synced_group_t.reserve",
"url":17,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_kernwin.synced_group_t.truncate",
"url":17,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_kernwin.synced_group_t.swap",
"url":17,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_kernwin.synced_group_t.extract",
"url":17,
"doc":"extract(self) -> sync_source_t",
"func":1
},
{
"ref":"ida_kernwin.synced_group_t.inject",
"url":17,
"doc":"inject(self, s, len) @param s: sync_source_t  @param len: size_t",
"func":1
},
{
"ref":"ida_kernwin.synced_group_t.begin",
"url":17,
"doc":"begin(self) -> sync_source_t",
"func":1
},
{
"ref":"ida_kernwin.synced_group_t.end",
"url":17,
"doc":"end(self) -> sync_source_t",
"func":1
},
{
"ref":"ida_kernwin.synced_group_t.insert",
"url":17,
"doc":"insert(self, it, x) -> sync_source_t @param it: qvector  iterator @param x: sync_source_t const &",
"func":1
},
{
"ref":"ida_kernwin.synced_group_t.erase",
"url":17,
"doc":"erase(self, it) -> sync_source_t @param it: qvector  iterator erase(self, first, last) -> sync_source_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_kernwin.synced_group_t.find",
"url":17,
"doc":"find(self, x) -> sync_source_t @param x: sync_source_t const &",
"func":1
},
{
"ref":"ida_kernwin.synced_group_t.add_unique",
"url":17,
"doc":"add_unique(self, x) -> bool @param x: sync_source_t const &",
"func":1
},
{
"ref":"ida_kernwin.twinpos_t",
"url":17,
"doc":"Proxy of C twinpos_t class. __init__(self) -> twinpos_t __init__(self, t) -> twinpos_t @param t: place_t  __init__(self, t, x0) -> twinpos_t @param t: place_t  @param x0: int"
},
{
"ref":"ida_kernwin.twinpos_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.twinpos_t.at",
"url":17,
"doc":"location in view"
},
{
"ref":"ida_kernwin.twinpos_t.x",
"url":17,
"doc":"cursor x"
},
{
"ref":"ida_kernwin.twinpos_t.place_as_idaplace_t",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.twinpos_t.place_as_simpleline_place_t",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.twinpos_t.place_as_tiplace_t",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.twinpos_t.place",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.twinline_t",
"url":17,
"doc":"Proxy of C twinline_t class. __init__(self) -> twinline_t __init__(self, t, pc, bc) -> twinline_t @param t: place_t  @param pc: color_t @param bc: bgcolor_t"
},
{
"ref":"ida_kernwin.twinline_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.twinline_t.at",
"url":17,
"doc":"location in view"
},
{
"ref":"ida_kernwin.twinline_t.line",
"url":17,
"doc":"line contents"
},
{
"ref":"ida_kernwin.twinline_t.prefix_color",
"url":17,
"doc":"line prefix color"
},
{
"ref":"ida_kernwin.twinline_t.bg_color",
"url":17,
"doc":"line background color"
},
{
"ref":"ida_kernwin.twinline_t.is_default",
"url":17,
"doc":"is this the default line of the current location?"
},
{
"ref":"ida_kernwin.linearray_t",
"url":17,
"doc":"Proxy of C linearray_t class. __init__(self, _ud) -> linearray_t @param _ud: void  "
},
{
"ref":"ida_kernwin.linearray_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.linearray_t.set_place",
"url":17,
"doc":"set_place(self, new_at) -> int Position the array. This function must be called before calling any other member functions. linearray_t doesn't own place_t structures. The caller must take care of place_t objects. @param new_at: (C : const place_t  ) new position of the array @return: the delta of lines that the linearray_t had to adjust the place by. For example, if the place_t has a lnnum of 5, but it turns out, upon generating lines, that the number of lines for that particular place is only 2, then 3 will be returned.",
"func":1
},
{
"ref":"ida_kernwin.linearray_t.get_place",
"url":17,
"doc":"get_place(self) -> place_t Get the current place. If called before down(), then returns place of line which will be returned by down(). If called after up(), then returns place if line returned by up().",
"func":1
},
{
"ref":"ida_kernwin.linearray_t.get_bg_color",
"url":17,
"doc":"get_bg_color(self) -> bgcolor_t Get current background color. (the same behavior as with get_place(): good before down() and after up( ",
"func":1
},
{
"ref":"ida_kernwin.linearray_t.get_pfx_color",
"url":17,
"doc":"get_pfx_color(self) -> bgcolor_t Get current prefix color. (the same behavior as with get_place(): good before down() and after up( ",
"func":1
},
{
"ref":"ida_kernwin.linearray_t.get_dlnnum",
"url":17,
"doc":"get_dlnnum(self) -> int Get default line number. (the same behavior as with get_place(): good before down() and after up( ",
"func":1
},
{
"ref":"ida_kernwin.linearray_t.get_linecnt",
"url":17,
"doc":"get_linecnt(self) -> int Get number of lines for the current place. (the same behavior as with get_place(): good before down() and after up( ",
"func":1
},
{
"ref":"ida_kernwin.linearray_t.userdata",
"url":17,
"doc":"userdata(self) -> void  Get pointer to user data.",
"func":1
},
{
"ref":"ida_kernwin.linearray_t.set_userdata",
"url":17,
"doc":"set_userdata(self, userd) Change the user data. @param userd: (C : void  )",
"func":1
},
{
"ref":"ida_kernwin.linearray_t.beginning",
"url":17,
"doc":"beginning(self) -> bool Are we at the beginning?",
"func":1
},
{
"ref":"ida_kernwin.linearray_t.ending",
"url":17,
"doc":"ending(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.linearray_t.down",
"url":17,
"doc":"down(self) -> qstring const  Get a line from down direction. place is ok BEFORE",
"func":1
},
{
"ref":"ida_kernwin.linearray_t.up",
"url":17,
"doc":"up(self) -> qstring const  Get a line from up direction. place is ok AFTER",
"func":1
},
{
"ref":"ida_kernwin.lines_rendering_input_t",
"url":17,
"doc":"Proxy of C lines_rendering_input_t class. __init__(self) -> lines_rendering_input_t"
},
{
"ref":"ida_kernwin.lines_rendering_input_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.lines_rendering_input_t.cb",
"url":17,
"doc":"cb"
},
{
"ref":"ida_kernwin.lines_rendering_input_t.sections_lines",
"url":17,
"doc":"references to the lines that are used for rendering"
},
{
"ref":"ida_kernwin.lines_rendering_input_t.sync_group",
"url":17,
"doc":"the 'synced' group 'widget' (see ui_get_lines_rendering_info) belongs to, or nullptr"
},
{
"ref":"ida_kernwin.CK_TRACE",
"url":17,
"doc":"traced address"
},
{
"ref":"ida_kernwin.CK_TRACE_OVL",
"url":17,
"doc":"overlay trace address"
},
{
"ref":"ida_kernwin.CK_EXTRA1",
"url":17,
"doc":"extra background overlay  1"
},
{
"ref":"ida_kernwin.CK_EXTRA2",
"url":17,
"doc":"extra background overlay  2"
},
{
"ref":"ida_kernwin.CK_EXTRA3",
"url":17,
"doc":"extra background overlay  3"
},
{
"ref":"ida_kernwin.CK_EXTRA4",
"url":17,
"doc":"extra background overlay  4"
},
{
"ref":"ida_kernwin.CK_EXTRA5",
"url":17,
"doc":"extra background overlay  5"
},
{
"ref":"ida_kernwin.CK_EXTRA6",
"url":17,
"doc":"extra background overlay  6"
},
{
"ref":"ida_kernwin.CK_EXTRA7",
"url":17,
"doc":"extra background overlay  7"
},
{
"ref":"ida_kernwin.CK_EXTRA8",
"url":17,
"doc":"extra background overlay  8"
},
{
"ref":"ida_kernwin.CK_EXTRA9",
"url":17,
"doc":"extra background overlay  9"
},
{
"ref":"ida_kernwin.CK_EXTRA10",
"url":17,
"doc":"extra background overlay  10"
},
{
"ref":"ida_kernwin.CK_EXTRA11",
"url":17,
"doc":"extra background overlay  11"
},
{
"ref":"ida_kernwin.CK_EXTRA12",
"url":17,
"doc":"extra background overlay  12"
},
{
"ref":"ida_kernwin.CK_EXTRA13",
"url":17,
"doc":"extra background overlay  13"
},
{
"ref":"ida_kernwin.CK_EXTRA14",
"url":17,
"doc":"extra background overlay  14"
},
{
"ref":"ida_kernwin.CK_EXTRA15",
"url":17,
"doc":"extra background overlay  15"
},
{
"ref":"ida_kernwin.CK_EXTRA16",
"url":17,
"doc":"extra background overlay  16"
},
{
"ref":"ida_kernwin.LROEF_FULL_LINE",
"url":17,
"doc":"full line background"
},
{
"ref":"ida_kernwin.LROEF_CPS_RANGE",
"url":17,
"doc":"background for range of chars"
},
{
"ref":"ida_kernwin.line_rendering_output_entry_t",
"url":17,
"doc":"Proxy of C line_rendering_output_entry_t class. __init__(self, _line, _flags=0, _bg_color=0) -> line_rendering_output_entry_t @param _line: twinline_t const  @param _flags: uint32 @param _bg_color: bgcolor_t __init__(self, _line, _cpx, _nchars, _flags, _bg_color) -> line_rendering_output_entry_t @param _line: twinline_t const  @param _cpx: int @param _nchars: int @param _flags: uint32 @param _bg_color: bgcolor_t"
},
{
"ref":"ida_kernwin.line_rendering_output_entry_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.line_rendering_output_entry_t.line",
"url":17,
"doc":"line"
},
{
"ref":"ida_kernwin.line_rendering_output_entry_t.flags",
"url":17,
"doc":"line_rendering_output_entry_t flags"
},
{
"ref":"ida_kernwin.line_rendering_output_entry_t.bg_color",
"url":17,
"doc":"bg_color"
},
{
"ref":"ida_kernwin.line_rendering_output_entry_t.cpx",
"url":17,
"doc":"number of char to start from, valid if LROEF_CPS_RANGE"
},
{
"ref":"ida_kernwin.line_rendering_output_entry_t.nchars",
"url":17,
"doc":"chars count, valid if LROEF_CPS_RANGE"
},
{
"ref":"ida_kernwin.line_rendering_output_entry_t.is_bg_color_empty",
"url":17,
"doc":"is_bg_color_empty(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entry_t.is_bg_color_key",
"url":17,
"doc":"is_bg_color_key(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.line_rendering_output_entry_t.is_bg_color_direct",
"url":17,
"doc":"is_bg_color_direct(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.lines_rendering_output_t",
"url":17,
"doc":"Proxy of C lines_rendering_output_t class. __init__(self) -> lines_rendering_output_t"
},
{
"ref":"ida_kernwin.lines_rendering_output_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.lines_rendering_output_t.entries",
"url":17,
"doc":"entries"
},
{
"ref":"ida_kernwin.lines_rendering_output_t.flags",
"url":17,
"doc":"flags"
},
{
"ref":"ida_kernwin.lines_rendering_output_t.clear",
"url":17,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_kernwin.lines_rendering_output_t.swap",
"url":17,
"doc":"swap(self, r) @param r: lines_rendering_output_t &",
"func":1
},
{
"ref":"ida_kernwin.line_section_t",
"url":17,
"doc":"Proxy of C line_section_t class. __init__(self) -> line_section_t"
},
{
"ref":"ida_kernwin.line_section_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.line_section_t.start",
"url":17,
"doc":"start"
},
{
"ref":"ida_kernwin.line_section_t.length",
"url":17,
"doc":"length"
},
{
"ref":"ida_kernwin.line_section_t.contains",
"url":17,
"doc":"contains(self, x) -> bool @param x: cpidx_t",
"func":1
},
{
"ref":"ida_kernwin.line_section_t.is_open",
"url":17,
"doc":"is_open(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.line_section_t.is_closed",
"url":17,
"doc":"is_closed(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.line_section_t.valid",
"url":17,
"doc":"valid(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.tagged_line_section_t",
"url":17,
"doc":"Proxy of C tagged_line_section_t class. __init__(self) -> tagged_line_section_t"
},
{
"ref":"ida_kernwin.tagged_line_section_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.tagged_line_section_t.tag",
"url":17,
"doc":"tag"
},
{
"ref":"ida_kernwin.tagged_line_section_t.valid",
"url":17,
"doc":"valid(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.tagged_line_section_t.valid_in",
"url":17,
"doc":"valid_in(self, _in) -> bool @param in: qstring const &",
"func":1
},
{
"ref":"ida_kernwin.tagged_line_section_t.substr",
"url":17,
"doc":"substr(self, _in, end=None) -> bool @param in: qstring const & @param end: tagged_line_section_t const  ",
"func":1
},
{
"ref":"ida_kernwin.tagged_line_section_t.start",
"url":17,
"doc":"start"
},
{
"ref":"ida_kernwin.tagged_line_section_t.length",
"url":17,
"doc":"length"
},
{
"ref":"ida_kernwin.tagged_line_section_t.contains",
"url":17,
"doc":"contains(self, x) -> bool @param x: cpidx_t",
"func":1
},
{
"ref":"ida_kernwin.tagged_line_section_t.is_open",
"url":17,
"doc":"is_open(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.tagged_line_section_t.is_closed",
"url":17,
"doc":"is_closed(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.tagged_line_sections_t",
"url":17,
"doc":"Proxy of C tagged_line_sections_t class. __init__(self) -> tagged_line_sections_t"
},
{
"ref":"ida_kernwin.tagged_line_sections_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.tagged_line_sections_t.sections_at",
"url":17,
"doc":"sections_at(self, out, x, tag=0) @param out: tagged_line_sections_t  @param x: cpidx_t @param tag: color_t",
"func":1
},
{
"ref":"ida_kernwin.tagged_line_sections_t.nearest_at",
"url":17,
"doc":"nearest_at(self, x, tag=0) -> tagged_line_section_t @param x: cpidx_t @param tag: color_t",
"func":1
},
{
"ref":"ida_kernwin.tagged_line_sections_t.nearest_before",
"url":17,
"doc":"nearest_before(self, range, start, tag=0) -> tagged_line_section_t @param range: tagged_line_section_t const & @param start: cpidx_t @param tag: color_t",
"func":1
},
{
"ref":"ida_kernwin.tagged_line_sections_t.nearest_after",
"url":17,
"doc":"nearest_after(self, range, start, tag=0) -> tagged_line_section_t @param range: tagged_line_section_t const & @param start: cpidx_t @param tag: color_t",
"func":1
},
{
"ref":"ida_kernwin.listing_location_t",
"url":17,
"doc":"Proxy of C listing_location_t class. __init__(self) -> listing_location_t"
},
{
"ref":"ida_kernwin.listing_location_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.listing_location_t.cb",
"url":17,
"doc":"cb"
},
{
"ref":"ida_kernwin.listing_location_t.loc",
"url":17,
"doc":"loc"
},
{
"ref":"ida_kernwin.listing_location_t.text",
"url":17,
"doc":"text"
},
{
"ref":"ida_kernwin.listing_location_t.tagged_sections",
"url":17,
"doc":"tagged_sections"
},
{
"ref":"ida_kernwin.request_refresh",
"url":17,
"doc":"request_refresh(mask, cnd=True) Request a refresh of a builtin window. @param mask: (C : uint64) Window refresh flags @param cnd: (C : bool) set if true or clear flag otherwise",
"func":1
},
{
"ref":"ida_kernwin.clear_refresh_request",
"url":17,
"doc":"clear_refresh_request(mask) @param mask: uint64",
"func":1
},
{
"ref":"ida_kernwin.is_refresh_requested",
"url":17,
"doc":"is_refresh_requested(mask) -> bool Get a refresh request state @param mask: (C : uint64) Window refresh flags @return: the state (set or cleared)",
"func":1
},
{
"ref":"ida_kernwin.BWN_UNKNOWN",
"url":17,
"doc":"unknown window"
},
{
"ref":"ida_kernwin.BWN_EXPORTS",
"url":17,
"doc":"exports"
},
{
"ref":"ida_kernwin.BWN_IMPORTS",
"url":17,
"doc":"imports"
},
{
"ref":"ida_kernwin.BWN_NAMES",
"url":17,
"doc":"names"
},
{
"ref":"ida_kernwin.BWN_FUNCS",
"url":17,
"doc":"functions"
},
{
"ref":"ida_kernwin.BWN_STRINGS",
"url":17,
"doc":"strings"
},
{
"ref":"ida_kernwin.BWN_SEGS",
"url":17,
"doc":"segments"
},
{
"ref":"ida_kernwin.BWN_SEGREGS",
"url":17,
"doc":"segment registers"
},
{
"ref":"ida_kernwin.BWN_SELS",
"url":17,
"doc":"selectors"
},
{
"ref":"ida_kernwin.BWN_SIGNS",
"url":17,
"doc":"signatures"
},
{
"ref":"ida_kernwin.BWN_TILS",
"url":17,
"doc":"type libraries"
},
{
"ref":"ida_kernwin.BWN_TILVIEW",
"url":17,
"doc":"local types"
},
{
"ref":"ida_kernwin.BWN_CALLS",
"url":17,
"doc":"function calls"
},
{
"ref":"ida_kernwin.BWN_PROBS",
"url":17,
"doc":"problems"
},
{
"ref":"ida_kernwin.BWN_BPTS",
"url":17,
"doc":"breakpoints"
},
{
"ref":"ida_kernwin.BWN_THREADS",
"url":17,
"doc":"threads"
},
{
"ref":"ida_kernwin.BWN_MODULES",
"url":17,
"doc":"modules"
},
{
"ref":"ida_kernwin.BWN_TRACE",
"url":17,
"doc":"tracing view"
},
{
"ref":"ida_kernwin.BWN_CALL_STACK",
"url":17,
"doc":"call stack"
},
{
"ref":"ida_kernwin.BWN_XREFS",
"url":17,
"doc":"xrefs"
},
{
"ref":"ida_kernwin.BWN_SEARCH",
"url":17,
"doc":"search results"
},
{
"ref":"ida_kernwin.BWN_FRAME",
"url":17,
"doc":"function frame"
},
{
"ref":"ida_kernwin.BWN_NAVBAND",
"url":17,
"doc":"navigation band"
},
{
"ref":"ida_kernwin.BWN_DISASM",
"url":17,
"doc":"disassembly views"
},
{
"ref":"ida_kernwin.BWN_HEXVIEW",
"url":17,
"doc":"hex view"
},
{
"ref":"ida_kernwin.BWN_NOTEPAD",
"url":17,
"doc":"notepad"
},
{
"ref":"ida_kernwin.BWN_OUTPUT",
"url":17,
"doc":"the text area, in the output window"
},
{
"ref":"ida_kernwin.BWN_CLI",
"url":17,
"doc":"the command-line, in the output window"
},
{
"ref":"ida_kernwin.BWN_WATCH",
"url":17,
"doc":"the 'watches' debugger window"
},
{
"ref":"ida_kernwin.BWN_LOCALS",
"url":17,
"doc":"the 'locals' debugger window"
},
{
"ref":"ida_kernwin.BWN_STKVIEW",
"url":17,
"doc":"the 'Stack view' debugger window"
},
{
"ref":"ida_kernwin.BWN_CHOOSER",
"url":17,
"doc":"a non-builtin chooser"
},
{
"ref":"ida_kernwin.BWN_SHORTCUTCSR",
"url":17,
"doc":"the shortcuts chooser (Qt version only)"
},
{
"ref":"ida_kernwin.BWN_SHORTCUTWIN",
"url":17,
"doc":"the shortcuts window (Qt version only)"
},
{
"ref":"ida_kernwin.BWN_CPUREGS",
"url":17,
"doc":"one of the 'General registers', 'FPU register',  . debugger windows"
},
{
"ref":"ida_kernwin.BWN_SO_STRUCTS",
"url":17,
"doc":"the 'Structure offsets' dialog's 'Structures and Unions' panel"
},
{
"ref":"ida_kernwin.BWN_SO_OFFSETS",
"url":17,
"doc":"the 'Structure offsets' dialog's offset panel"
},
{
"ref":"ida_kernwin.BWN_CMDPALCSR",
"url":17,
"doc":"the command palette chooser (Qt version only)"
},
{
"ref":"ida_kernwin.BWN_CMDPALWIN",
"url":17,
"doc":"the command palette window (Qt version only)"
},
{
"ref":"ida_kernwin.BWN_SNIPPETS",
"url":17,
"doc":"the 'Execute script' window"
},
{
"ref":"ida_kernwin.BWN_CUSTVIEW",
"url":17,
"doc":"custom viewers"
},
{
"ref":"ida_kernwin.BWN_ADDRWATCH",
"url":17,
"doc":"the 'Watch List' window"
},
{
"ref":"ida_kernwin.BWN_PSEUDOCODE",
"url":17,
"doc":"hexrays decompiler views"
},
{
"ref":"ida_kernwin.BWN_CALLS_CALLERS",
"url":17,
"doc":"function calls, callers"
},
{
"ref":"ida_kernwin.BWN_CALLS_CALLEES",
"url":17,
"doc":"function calls, callees"
},
{
"ref":"ida_kernwin.BWN_MDVIEWCSR",
"url":17,
"doc":"lumina metadata view chooser"
},
{
"ref":"ida_kernwin.BWN_DISASM_ARROWS",
"url":17,
"doc":"disassembly arrows widget"
},
{
"ref":"ida_kernwin.BWN_CV_LINE_INFOS",
"url":17,
"doc":"custom viewers' lineinfo widget"
},
{
"ref":"ida_kernwin.BWN_SRCPTHMAP_CSR",
"url":17,
"doc":"\"Source paths .\"'s path mappings chooser"
},
{
"ref":"ida_kernwin.BWN_SRCPTHUND_CSR",
"url":17,
"doc":"\"Source paths .\"'s undesired paths chooser"
},
{
"ref":"ida_kernwin.BWN_UNDOHIST",
"url":17,
"doc":"Undo history."
},
{
"ref":"ida_kernwin.BWN_SNIPPETS_CSR",
"url":17,
"doc":"the list of snippets in the 'Execute script' window"
},
{
"ref":"ida_kernwin.BWN_SCRIPTS_CSR",
"url":17,
"doc":"the \"Recent scripts\" chooser"
},
{
"ref":"ida_kernwin.BWN_BOOKMARKS",
"url":17,
"doc":"a persistent 'Bookmarks' widget"
},
{
"ref":"ida_kernwin.BWN_TILIST",
"url":17,
"doc":"a type listing widget"
},
{
"ref":"ida_kernwin.IWID_EXPORTS",
"url":17,
"doc":"exports"
},
{
"ref":"ida_kernwin.IWID_IMPORTS",
"url":17,
"doc":"imports"
},
{
"ref":"ida_kernwin.IWID_NAMES",
"url":17,
"doc":"names"
},
{
"ref":"ida_kernwin.IWID_FUNCS",
"url":17,
"doc":"functions"
},
{
"ref":"ida_kernwin.IWID_STRINGS",
"url":17,
"doc":"strings"
},
{
"ref":"ida_kernwin.IWID_SEGS",
"url":17,
"doc":"segments"
},
{
"ref":"ida_kernwin.IWID_SEGREGS",
"url":17,
"doc":"segment registers"
},
{
"ref":"ida_kernwin.IWID_SELS",
"url":17,
"doc":"selectors"
},
{
"ref":"ida_kernwin.IWID_SIGNS",
"url":17,
"doc":"signatures"
},
{
"ref":"ida_kernwin.IWID_TILS",
"url":17,
"doc":"type libraries"
},
{
"ref":"ida_kernwin.IWID_TILVIEW",
"url":17,
"doc":"local types"
},
{
"ref":"ida_kernwin.IWID_CALLS",
"url":17,
"doc":"function calls"
},
{
"ref":"ida_kernwin.IWID_PROBS",
"url":17,
"doc":"problems"
},
{
"ref":"ida_kernwin.IWID_BPTS",
"url":17,
"doc":"breakpoints"
},
{
"ref":"ida_kernwin.IWID_THREADS",
"url":17,
"doc":"threads"
},
{
"ref":"ida_kernwin.IWID_MODULES",
"url":17,
"doc":"modules"
},
{
"ref":"ida_kernwin.IWID_TRACE",
"url":17,
"doc":"tracing view"
},
{
"ref":"ida_kernwin.IWID_CALL_STACK",
"url":17,
"doc":"call stack"
},
{
"ref":"ida_kernwin.IWID_XREFS",
"url":17,
"doc":"xrefs"
},
{
"ref":"ida_kernwin.IWID_SEARCH",
"url":17,
"doc":"search results"
},
{
"ref":"ida_kernwin.IWID_FRAME",
"url":17,
"doc":"function frame"
},
{
"ref":"ida_kernwin.IWID_NAVBAND",
"url":17,
"doc":"navigation band"
},
{
"ref":"ida_kernwin.IWID_DISASM",
"url":17,
"doc":"disassembly views"
},
{
"ref":"ida_kernwin.IWID_HEXVIEW",
"url":17,
"doc":"hex views"
},
{
"ref":"ida_kernwin.IWID_NOTEPAD",
"url":17,
"doc":"notepad"
},
{
"ref":"ida_kernwin.IWID_OUTPUT",
"url":17,
"doc":"output"
},
{
"ref":"ida_kernwin.IWID_CLI",
"url":17,
"doc":"input line"
},
{
"ref":"ida_kernwin.IWID_WATCH",
"url":17,
"doc":"watches"
},
{
"ref":"ida_kernwin.IWID_LOCALS",
"url":17,
"doc":"locals"
},
{
"ref":"ida_kernwin.IWID_STKVIEW",
"url":17,
"doc":"stack view"
},
{
"ref":"ida_kernwin.IWID_CHOOSER",
"url":17,
"doc":"chooser"
},
{
"ref":"ida_kernwin.IWID_SHORTCUTCSR",
"url":17,
"doc":"shortcuts chooser"
},
{
"ref":"ida_kernwin.IWID_SHORTCUTWIN",
"url":17,
"doc":"shortcuts window"
},
{
"ref":"ida_kernwin.IWID_CPUREGS",
"url":17,
"doc":"registers"
},
{
"ref":"ida_kernwin.IWID_SO_STRUCTS",
"url":17,
"doc":"stroff"
},
{
"ref":"ida_kernwin.IWID_SO_OFFSETS",
"url":17,
"doc":"stroff"
},
{
"ref":"ida_kernwin.IWID_CMDPALCSR",
"url":17,
"doc":"command palette"
},
{
"ref":"ida_kernwin.IWID_CMDPALWIN",
"url":17,
"doc":"command palette"
},
{
"ref":"ida_kernwin.IWID_SNIPPETS",
"url":17,
"doc":"snippets"
},
{
"ref":"ida_kernwin.IWID_CUSTVIEW",
"url":17,
"doc":"custom viewers"
},
{
"ref":"ida_kernwin.IWID_ADDRWATCH",
"url":17,
"doc":"address watches"
},
{
"ref":"ida_kernwin.IWID_PSEUDOCODE",
"url":17,
"doc":"decompiler"
},
{
"ref":"ida_kernwin.IWID_CALLS_CALLERS",
"url":17,
"doc":"funcalls, callers"
},
{
"ref":"ida_kernwin.IWID_CALLS_CALLEES",
"url":17,
"doc":"funcalls, callees"
},
{
"ref":"ida_kernwin.IWID_MDVIEWCSR",
"url":17,
"doc":"lumina md view"
},
{
"ref":"ida_kernwin.IWID_DISASM_ARROWS",
"url":17,
"doc":"arrows widget"
},
{
"ref":"ida_kernwin.IWID_CV_LINE_INFOS",
"url":17,
"doc":"lineinfo widget"
},
{
"ref":"ida_kernwin.IWID_SRCPTHMAP_CSR",
"url":17,
"doc":"mappings chooser"
},
{
"ref":"ida_kernwin.IWID_SRCPTHUND_CSR",
"url":17,
"doc":"undesired chooser"
},
{
"ref":"ida_kernwin.IWID_UNDOHIST",
"url":17,
"doc":"Undo history."
},
{
"ref":"ida_kernwin.IWID_SNIPPETS_CSR",
"url":17,
"doc":"snippets chooser"
},
{
"ref":"ida_kernwin.IWID_SCRIPTS_CSR",
"url":17,
"doc":"recent scripts"
},
{
"ref":"ida_kernwin.IWID_BOOKMARKS",
"url":17,
"doc":"bookmarks list"
},
{
"ref":"ida_kernwin.IWID_TILIST",
"url":17,
"doc":"type listing"
},
{
"ref":"ida_kernwin.IWID_ANY_LISTING",
"url":17,
"doc":"anything that uses a listing widget"
},
{
"ref":"ida_kernwin.IWID_EA_LISTING",
"url":17,
"doc":"anything that can be used to represent data/code at an address"
},
{
"ref":"ida_kernwin.IWID_ALL",
"url":17,
"doc":"mask"
},
{
"ref":"ida_kernwin.is_chooser_widget",
"url":17,
"doc":"is_chooser_widget(t) -> bool Does the given widget type specify a chooser widget? @param t: (C : twidget_type_t)",
"func":1
},
{
"ref":"ida_kernwin.IDA_DEBUG_DREFS",
"url":17,
"doc":"drefs"
},
{
"ref":"ida_kernwin.IDA_DEBUG_OFFSET",
"url":17,
"doc":"offsets"
},
{
"ref":"ida_kernwin.IDA_DEBUG_FLIRT",
"url":17,
"doc":"flirt"
},
{
"ref":"ida_kernwin.IDA_DEBUG_IDP",
"url":17,
"doc":"idp module"
},
{
"ref":"ida_kernwin.IDA_DEBUG_LDR",
"url":17,
"doc":"ldr module"
},
{
"ref":"ida_kernwin.IDA_DEBUG_PLUGIN",
"url":17,
"doc":"plugin module"
},
{
"ref":"ida_kernwin.IDA_DEBUG_IDS",
"url":17,
"doc":"ids files"
},
{
"ref":"ida_kernwin.IDA_DEBUG_CONFIG",
"url":17,
"doc":"config file"
},
{
"ref":"ida_kernwin.IDA_DEBUG_CHECKMEM",
"url":17,
"doc":"check heap consistency"
},
{
"ref":"ida_kernwin.IDA_DEBUG_LICENSE",
"url":17,
"doc":"licensing"
},
{
"ref":"ida_kernwin.IDA_DEBUG_DEMANGLE",
"url":17,
"doc":"demangler"
},
{
"ref":"ida_kernwin.IDA_DEBUG_QUEUE",
"url":17,
"doc":"queue"
},
{
"ref":"ida_kernwin.IDA_DEBUG_ROLLBACK",
"url":17,
"doc":"rollback"
},
{
"ref":"ida_kernwin.IDA_DEBUG_ALREADY",
"url":17,
"doc":"already data or code"
},
{
"ref":"ida_kernwin.IDA_DEBUG_TIL",
"url":17,
"doc":"type system"
},
{
"ref":"ida_kernwin.IDA_DEBUG_NOTIFY",
"url":17,
"doc":"show all notifications"
},
{
"ref":"ida_kernwin.IDA_DEBUG_DEBUGGER",
"url":17,
"doc":"debugger"
},
{
"ref":"ida_kernwin.IDA_DEBUG_APPCALL",
"url":17,
"doc":"appcall"
},
{
"ref":"ida_kernwin.IDA_DEBUG_SRCDBG",
"url":17,
"doc":"source debugging"
},
{
"ref":"ida_kernwin.IDA_DEBUG_ACCESSIBILITY",
"url":17,
"doc":"accessibility"
},
{
"ref":"ida_kernwin.IDA_DEBUG_NETWORK",
"url":17,
"doc":"network"
},
{
"ref":"ida_kernwin.IDA_DEBUG_INTERNET",
"url":17,
"doc":"internet connection (for API backward compatibility)"
},
{
"ref":"ida_kernwin.IDA_DEBUG_SIMPLEX",
"url":17,
"doc":"full stack analysis"
},
{
"ref":"ida_kernwin.IDA_DEBUG_DBGINFO",
"url":17,
"doc":"handling of debug info (e.g. pdb, dwarf)"
},
{
"ref":"ida_kernwin.IDA_DEBUG_LUMINA",
"url":17,
"doc":"lumina related"
},
{
"ref":"ida_kernwin.IDA_DEBUG_THEMES",
"url":17,
"doc":"themes"
},
{
"ref":"ida_kernwin.IDA_DEBUG_REGEX",
"url":17,
"doc":"regular expression"
},
{
"ref":"ida_kernwin.IDA_DEBUG_SUBPROC",
"url":17,
"doc":"sub process"
},
{
"ref":"ida_kernwin.IDA_DEBUG_RANGECB",
"url":17,
"doc":"range-based entities like segments, functions and so on"
},
{
"ref":"ida_kernwin.IDA_DEBUG_ALWAYS",
"url":17,
"doc":"everything"
},
{
"ref":"ida_kernwin.AST_ENABLE_ALWAYS",
"url":17,
"doc":"enable action and do not call action_handler_t update() anymore"
},
{
"ref":"ida_kernwin.AST_ENABLE_FOR_IDB",
"url":17,
"doc":"enable action for the current idb. call action_handler_t update() when a database is opened/closed"
},
{
"ref":"ida_kernwin.AST_ENABLE_FOR_WIDGET",
"url":17,
"doc":"enable action for the current widget. call action_handler_t update() when a widget gets/loses focus"
},
{
"ref":"ida_kernwin.AST_ENABLE",
"url":17,
"doc":"enable action - call action_handler_t update() when anything changes"
},
{
"ref":"ida_kernwin.AST_DISABLE_ALWAYS",
"url":17,
"doc":"disable action and do not call action_handler_t action() anymore"
},
{
"ref":"ida_kernwin.AST_DISABLE_FOR_IDB",
"url":17,
"doc":"analog of AST_ENABLE_FOR_IDB"
},
{
"ref":"ida_kernwin.AST_DISABLE_FOR_WIDGET",
"url":17,
"doc":"analog of AST_ENABLE_FOR_WIDGET"
},
{
"ref":"ida_kernwin.AST_DISABLE",
"url":17,
"doc":"analog of AST_ENABLE"
},
{
"ref":"ida_kernwin.is_action_enabled",
"url":17,
"doc":"is_action_enabled(s) -> bool Check if the given action state is one of AST_ENABLE . @param s: (C : action_state_t) enum action_state_t",
"func":1
},
{
"ref":"ida_kernwin.CH_MODAL",
"url":17,
"doc":"Modal chooser."
},
{
"ref":"ida_kernwin.CH_KEEP",
"url":17,
"doc":"The chooser instance's lifecycle is not tied to the lifecycle of the widget showing its contents. Closing the widget will not destroy the chooser structure. This allows for, e.g., static global chooser instances that don't need to be allocated on the heap. Also stack-allocated chooser instances must set this bit."
},
{
"ref":"ida_kernwin.CH_MULTI",
"url":17,
"doc":"The chooser will allow multi-selection (only for GUI choosers). This bit is set when using the chooser_multi_t structure."
},
{
"ref":"ida_kernwin.CH_MULTI_EDIT",
"url":17,
"doc":"Obsolete."
},
{
"ref":"ida_kernwin.CH_NOBTNS",
"url":17,
"doc":"do not display ok/cancel/help/search buttons. Meaningful only for gui modal windows because non-modal windows do not have any buttons anyway. Text mode does not have them neither."
},
{
"ref":"ida_kernwin.CH_ATTRS",
"url":17,
"doc":"generate ui_get_chooser_item_attrs (gui only)"
},
{
"ref":"ida_kernwin.CH_FORCE_DEFAULT",
"url":17,
"doc":"if a non-modal chooser was already open, change selection to the default one"
},
{
"ref":"ida_kernwin.CH_CAN_INS",
"url":17,
"doc":"allow to insert new items"
},
{
"ref":"ida_kernwin.CH_CAN_DEL",
"url":17,
"doc":"allow to delete existing item(s)"
},
{
"ref":"ida_kernwin.CH_CAN_EDIT",
"url":17,
"doc":"allow to edit existing item(s)"
},
{
"ref":"ida_kernwin.CH_CAN_REFRESH",
"url":17,
"doc":"allow to refresh chooser"
},
{
"ref":"ida_kernwin.CH_QFLT",
"url":17,
"doc":"open with quick filter enabled and focused"
},
{
"ref":"ida_kernwin.CH_QFTYP_DEFAULT",
"url":17,
"doc":"set quick filtering type to the possible existing default for this chooser"
},
{
"ref":"ida_kernwin.CH_QFTYP_NORMAL",
"url":17,
"doc":"normal (i.e., lexicographical) quick filter type"
},
{
"ref":"ida_kernwin.CH_QFTYP_WHOLE_WORDS",
"url":17,
"doc":"whole words quick filter type"
},
{
"ref":"ida_kernwin.CH_QFTYP_REGEX",
"url":17,
"doc":"regex quick filter type"
},
{
"ref":"ida_kernwin.CH_QFTYP_FUZZY",
"url":17,
"doc":"fuzzy search quick filter type"
},
{
"ref":"ida_kernwin.CH_NO_STATUS_BAR",
"url":17,
"doc":"don't show a status bar"
},
{
"ref":"ida_kernwin.CH_RESTORE",
"url":17,
"doc":"restore floating position if present (equivalent of WOPN_RESTORE) (GUI version only)"
},
{
"ref":"ida_kernwin.CH_RENAME_IS_EDIT",
"url":17,
"doc":"triggering a 'edit/rename' (i.e., F2 shortcut) on a cell, should call the edit() callback for the corresponding row."
},
{
"ref":"ida_kernwin.CH_BUILTIN_MASK",
"url":17,
"doc":"Mask for builtin chooser numbers. Plugins should not use them."
},
{
"ref":"ida_kernwin.CH_HAS_DIRTREE",
"url":17,
"doc":"The chooser can provide a dirtree_t, meaning a tree-like structure can be provided to the user (instead of a flat table)"
},
{
"ref":"ida_kernwin.CH_TM_NO_TREE",
"url":17,
"doc":"chooser will show in no-tree mode"
},
{
"ref":"ida_kernwin.CH_TM_FOLDERS_ONLY",
"url":17,
"doc":"chooser will show in folders-only mode"
},
{
"ref":"ida_kernwin.CH_TM_FULL_TREE",
"url":17,
"doc":"chooser will show in full-tree mode"
},
{
"ref":"ida_kernwin.CH_HAS_DIFF",
"url":17,
"doc":"The chooser can be used in a diffing/merging workflow."
},
{
"ref":"ida_kernwin.CH_NO_SORT",
"url":17,
"doc":"The chooser will not have sorting abilities."
},
{
"ref":"ida_kernwin.CH_NO_FILTER",
"url":17,
"doc":"The chooser will not have filtering abilities."
},
{
"ref":"ida_kernwin.CH_NON_PERSISTED_TREE",
"url":17,
"doc":"the chooser tree is not persisted (it is not loaded on startup and is not saved on exit)"
},
{
"ref":"ida_kernwin.CH2_LAZY_LOADED",
"url":17,
"doc":"The chooser is lazy-loaded; it receives the callback do_lazy_load_dir() (only meaningful when CH_HAS_DIRTREE is set)"
},
{
"ref":"ida_kernwin.CHCOL_PLAIN",
"url":17,
"doc":"plain string"
},
{
"ref":"ida_kernwin.CHCOL_PATH",
"url":17,
"doc":"file path. TUI IDA will truncate excessive cell lengths starting at their beginning, and prepending the resulting text with \" .\" order to leave the filename visible"
},
{
"ref":"ida_kernwin.CHCOL_HEX",
"url":17,
"doc":"hexadecimal number"
},
{
"ref":"ida_kernwin.CHCOL_DEC",
"url":17,
"doc":"decimal number"
},
{
"ref":"ida_kernwin.CHCOL_EA",
"url":17,
"doc":"address"
},
{
"ref":"ida_kernwin.CHCOL_FNAME",
"url":17,
"doc":"function name. If a chooser column has this flag set and implements chooser_base_t get_ea(), rows background colors will be automatically set to match the navigator's \"Library function\", \"Lumina function\" and \"External symbol\" colors"
},
{
"ref":"ida_kernwin.CHCOL_FORMAT",
"url":17,
"doc":"column format mask"
},
{
"ref":"ida_kernwin.CHCOL_DEFHIDDEN",
"url":17,
"doc":"column should be hidden by default"
},
{
"ref":"ida_kernwin.CHCOL_DRAGHINT",
"url":17,
"doc":"the column number that will be used to build hints for the dragging undo label. This should be provided for at most one column for any given chooser."
},
{
"ref":"ida_kernwin.CHCOL_INODENAME",
"url":17,
"doc":"if CH_HAS_DIRTREE has been specified, this instructs the chooser that this column shows the inode name. This should be provided for at most one column for any given chooser."
},
{
"ref":"ida_kernwin.CHITEM_BOLD",
"url":17,
"doc":"display the item in bold"
},
{
"ref":"ida_kernwin.CHITEM_ITALIC",
"url":17,
"doc":"display the item in italic"
},
{
"ref":"ida_kernwin.CHITEM_UNDER",
"url":17,
"doc":"underline the item"
},
{
"ref":"ida_kernwin.CHITEM_STRIKE",
"url":17,
"doc":"strikeout the item"
},
{
"ref":"ida_kernwin.CHITEM_GRAY",
"url":17,
"doc":"gray out the item"
},
{
"ref":"ida_kernwin.CHOOSER_NOMAINMENU",
"url":17,
"doc":"do not display main menu"
},
{
"ref":"ida_kernwin.CHOOSER_NOSTATUSBAR",
"url":17,
"doc":"do not display status bar (obsolete. Use CH_NO_STATUS_BAR instead)"
},
{
"ref":"ida_kernwin.chooser_item_attrs_t",
"url":17,
"doc":"Proxy of C chooser_item_attrs_t class. __init__(self) -> chooser_item_attrs_t"
},
{
"ref":"ida_kernwin.chooser_item_attrs_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.chooser_item_attrs_t.flags",
"url":17,
"doc":"Chooser item property bits"
},
{
"ref":"ida_kernwin.chooser_item_attrs_t.color",
"url":17,
"doc":"item color"
},
{
"ref":"ida_kernwin.chooser_item_attrs_t.reset",
"url":17,
"doc":"reset(self)",
"func":1
},
{
"ref":"ida_kernwin.chooser_row_info_t",
"url":17,
"doc":"Proxy of C chooser_row_info_t class. __init__(self) -> chooser_row_info_t"
},
{
"ref":"ida_kernwin.chooser_row_info_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.chooser_row_info_t.texts",
"url":17,
"doc":"texts, one per chooser column"
},
{
"ref":"ida_kernwin.chooser_row_info_t.attrs",
"url":17,
"doc":"styling attributes"
},
{
"ref":"ida_kernwin.chooser_row_info_t.icon",
"url":17,
"doc":"icon number"
},
{
"ref":"ida_kernwin.GCRF_HEADER",
"url":17,
"doc":"Return header texts."
},
{
"ref":"ida_kernwin.GCRF_SELECTION",
"url":17,
"doc":"Return selected rows."
},
{
"ref":"ida_kernwin.GCRF_CURRENT",
"url":17,
"doc":"Return the current row."
},
{
"ref":"ida_kernwin.GCRF_ALL",
"url":17,
"doc":"Return all rows."
},
{
"ref":"ida_kernwin.chooser_stdact_desc_t",
"url":17,
"doc":"Proxy of C chooser_stdact_desc_t class. __init__(self, _label=None, _tooltip=None, _icon=-1) -> chooser_stdact_desc_t @param _label: char const  @param _tooltip: char const  @param _icon: int"
},
{
"ref":"ida_kernwin.chooser_stdact_desc_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.chooser_stdact_desc_t.version",
"url":17,
"doc":"to support the backward compatibility"
},
{
"ref":"ida_kernwin.chooser_stdact_desc_t.label",
"url":17,
"doc":"see action_desc_t"
},
{
"ref":"ida_kernwin.chooser_stdact_desc_t.tooltip",
"url":17,
"doc":"tooltip"
},
{
"ref":"ida_kernwin.chooser_stdact_desc_t.icon",
"url":17,
"doc":"icon"
},
{
"ref":"ida_kernwin.chooser_stdact_desc_t.ucb",
"url":17,
"doc":"ucb(self, arg0) -> action_state_t the update callback, see action_handler_t update() When the update callback is called from the chooser UI engine, it can be sure that ctx.source.chooser is a valid pointer to chooser_base_t and that there are selected items for the Delete and Edit actions. @param arg0: action_update_ctx_t  ",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t",
"url":17,
"doc":"Proxy of C chooser_base_t class."
},
{
"ref":"ida_kernwin.chooser_base_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.chooser_base_t.x0",
"url":17,
"doc":"screen position, Functions: generic list choosers"
},
{
"ref":"ida_kernwin.chooser_base_t.y0",
"url":17,
"doc":"y0"
},
{
"ref":"ida_kernwin.chooser_base_t.x1",
"url":17,
"doc":"x1"
},
{
"ref":"ida_kernwin.chooser_base_t.y1",
"url":17,
"doc":"y1"
},
{
"ref":"ida_kernwin.chooser_base_t.width",
"url":17,
"doc":"(in chars)"
},
{
"ref":"ida_kernwin.chooser_base_t.height",
"url":17,
"doc":"(in chars)"
},
{
"ref":"ida_kernwin.chooser_base_t.title",
"url":17,
"doc":"menu title (includes ptr to help). May have chooser title prefixes (see \"Chooser title\" above)."
},
{
"ref":"ida_kernwin.chooser_base_t.columns",
"url":17,
"doc":"number of columns"
},
{
"ref":"ida_kernwin.chooser_base_t.widths",
"url":17,
"doc":"column widths  low 16 bits of each value hold the column width  high 16 bits are flags (see Chooser column flags)"
},
{
"ref":"ida_kernwin.chooser_base_t.header",
"url":17,
"doc":"header line; contains the tooltips, and column name for each of 'columns' columns. When tooltips need to be provided, the syntax should be: \" tooltip column-name\". (Otherwise, the syntax is simply \"column-name\".)"
},
{
"ref":"ida_kernwin.chooser_base_t.icon",
"url":17,
"doc":"default icon"
},
{
"ref":"ida_kernwin.chooser_base_t.POPUP_INS",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.chooser_base_t.POPUP_DEL",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.chooser_base_t.POPUP_EDIT",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.chooser_base_t.POPUP_REFRESH",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.chooser_base_t.NSTDPOPUPS",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.chooser_base_t.popup_names",
"url":17,
"doc":"array of custom labels of the standard actions. Used to replace labels for these actions. An empty name means that the default name will be used. @note: Availability of these actions is determined by the CH_CAN_ . flags. The label, icon and other action attributes can be overwritten in the action description returned by get_stdact_descs()"
},
{
"ref":"ida_kernwin.chooser_base_t.deflt_col",
"url":17,
"doc":"Column that will have focus."
},
{
"ref":"ida_kernwin.chooser_base_t.is_same",
"url":17,
"doc":"is_same(self, other) -> bool do the current and the given objects hold the same data? @param other: (C : const chooser_base_t  ) chooser_base_t const  ",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.can_ins",
"url":17,
"doc":"can_ins(self) -> bool is an operation allowed?",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.can_del",
"url":17,
"doc":"can_del(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.can_edit",
"url":17,
"doc":"can_edit(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.can_refresh",
"url":17,
"doc":"can_refresh(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.popup_allowed",
"url":17,
"doc":"popup_allowed(self, stdact_idx) -> bool is a standard action allowed? @param stdact_idx: (C : int)",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.is_status_bar_hidden",
"url":17,
"doc":"is_status_bar_hidden(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.should_restore_geometry",
"url":17,
"doc":"should_restore_geometry(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.is_modal",
"url":17,
"doc":"is_modal(self) -> bool is choose modal?",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.has_widget_lifecycle",
"url":17,
"doc":"has_widget_lifecycle(self) -> bool should chooser object be deleted when the widget gets destroyed?",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.is_multi",
"url":17,
"doc":"is_multi(self) -> bool is multi-selection allowed?",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.ask_item_attrs",
"url":17,
"doc":"ask_item_attrs(self) -> bool should chooser generate ui_get_chooser_item_attrs events?",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.is_force_default",
"url":17,
"doc":"is_force_default(self) -> bool should selection of the already opened non-modal chooser be changed?",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.get_builtin_number",
"url":17,
"doc":"get_builtin_number(self) -> uint get number of the built-in chooser",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.is_quick_filter_visible_initially",
"url":17,
"doc":"is_quick_filter_visible_initially(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.get_quick_filter_initial_mode",
"url":17,
"doc":"get_quick_filter_initial_mode(self) -> int",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.has_dirtree",
"url":17,
"doc":"has_dirtree(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.has_diff_capability",
"url":17,
"doc":"has_diff_capability(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.can_sort",
"url":17,
"doc":"can_sort(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.can_filter",
"url":17,
"doc":"can_filter(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.should_rename_trigger_edit",
"url":17,
"doc":"should_rename_trigger_edit(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.is_dirtree_persisted",
"url":17,
"doc":"is_dirtree_persisted(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.is_lazy_loaded",
"url":17,
"doc":"is_lazy_loaded(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.has_inode_to_index",
"url":17,
"doc":"has_inode_to_index(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.get_count",
"url":17,
"doc":"get_count(self) -> size_t get the number of elements in the chooser",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.get_ea",
"url":17,
"doc":"get_ea(self, arg2) -> ea_t get the address of an element. When this function returns valid addresses:  If any column has the  CHCOL_FNAME flag, rows will be colored according to the attributes of the functions who own those addresses (extern, library function, Lumina,  . - similar to what the \"Functions\" widget does)  When a selection is present and the user presses    (   if the chooser is modal), IDA will jump to that address (through jumpto( @param arg2: size_t @return: the effective address, BADADDR if the element has no address",
"func":1
},
{
"ref":"ida_kernwin.chooser_base_t.get_row",
"url":17,
"doc":"get_row(self, n) -> ([str,  .], int, chooser_item_attrs_t) get a description of an element. @param n: (C : size_t) element number (0 get_count()-1)",
"func":1
},
{
"ref":"ida_kernwin.CVH_KEYDOWN",
"url":17,
"doc":"see custom_viewer_keydown_t"
},
{
"ref":"ida_kernwin.CVH_POPUP",
"url":17,
"doc":"see custom_viewer_popup_t"
},
{
"ref":"ida_kernwin.CVH_DBLCLICK",
"url":17,
"doc":"see custom_viewer_dblclick_t"
},
{
"ref":"ida_kernwin.CVH_CURPOS",
"url":17,
"doc":"see custom_viewer_curpos_t"
},
{
"ref":"ida_kernwin.CVH_CLOSE",
"url":17,
"doc":"see custom_viewer_close_t"
},
{
"ref":"ida_kernwin.CVH_CLICK",
"url":17,
"doc":"see custom_viewer_click_t"
},
{
"ref":"ida_kernwin.CVH_QT_AWARE",
"url":17,
"doc":"see set_custom_viewer_qt_aware()"
},
{
"ref":"ida_kernwin.CVH_HELP",
"url":17,
"doc":"see custom_viewer_help_t"
},
{
"ref":"ida_kernwin.CVH_MOUSEMOVE",
"url":17,
"doc":"see custom_viewer_mouse_moved_t"
},
{
"ref":"ida_kernwin.CDVH_USERDATA",
"url":17,
"doc":"see set_code_viewer_user_data()"
},
{
"ref":"ida_kernwin.CDVH_SRCVIEW",
"url":17,
"doc":"see set_code_viewer_is_source()"
},
{
"ref":"ida_kernwin.CDVH_LINES_CLICK",
"url":17,
"doc":"see code_viewer_lines_click_t"
},
{
"ref":"ida_kernwin.CDVH_LINES_DBLCLICK",
"url":17,
"doc":"see code_viewer_lines_click_t"
},
{
"ref":"ida_kernwin.CDVH_LINES_POPUP",
"url":17,
"doc":"see code_viewer_lines_click_t"
},
{
"ref":"ida_kernwin.CDVH_LINES_DRAWICON",
"url":17,
"doc":"see code_viewer_lines_icon_t"
},
{
"ref":"ida_kernwin.CDVH_LINES_LINENUM",
"url":17,
"doc":"see code_viewer_lines_linenum_t"
},
{
"ref":"ida_kernwin.CDVH_LINES_ICONMARGIN",
"url":17,
"doc":"see set_code_viewer_lines_icon_margin()"
},
{
"ref":"ida_kernwin.CDVH_LINES_RADIX",
"url":17,
"doc":"see set_code_viewer_lines_radix()"
},
{
"ref":"ida_kernwin.CDVH_LINES_ALIGNMENT",
"url":17,
"doc":"see set_code_viewer_lines_alignment()"
},
{
"ref":"ida_kernwin.VES_SHIFT",
"url":17,
"doc":"state & 1 => Shift is pressed state & 2 => Alt is pressed state & 4 => Ctrl is pressed state & 8 => Mouse left button is pressed state & 16 => Mouse right button is pressed state & 32 => Mouse middle button is pressed state & 128 => Meta is pressed (OSX only)"
},
{
"ref":"ida_kernwin.msg_activated",
"url":17,
"doc":"The message window is activated."
},
{
"ref":"ida_kernwin.msg_deactivated",
"url":17,
"doc":"The message window is deactivated."
},
{
"ref":"ida_kernwin.msg_click",
"url":17,
"doc":"Click event. @param x: (int) x-coordinate @param y: (int) y-coordinate @param state: ( view_event_state_t) @retval 1: handled @retval 0: not handled (invoke default handler)"
},
{
"ref":"ida_kernwin.msg_dblclick",
"url":17,
"doc":"Double click event. @param x: (int) x-coordinate @param y: (int) y-coordinate @param state: ( view_event_state_t) @retval 1: handled @retval 0: not handled (invoke default handler)"
},
{
"ref":"ida_kernwin.msg_closed",
"url":17,
"doc":"View closed."
},
{
"ref":"ida_kernwin.msg_keydown",
"url":17,
"doc":"Key down event. @param key: (int) @param state: ( view_event_state_t) @retval 1: handled @retval 0: not handled (invoke default handler)"
},
{
"ref":"ida_kernwin.renderer_pos_info_t",
"url":17,
"doc":"Proxy of C renderer_pos_info_t class. __init__(self) -> renderer_pos_info_t"
},
{
"ref":"ida_kernwin.renderer_pos_info_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.renderer_pos_info_t.node",
"url":17,
"doc":"the node, or -1 if the current renderer is not a graph renderer."
},
{
"ref":"ida_kernwin.renderer_pos_info_t.cx",
"url":17,
"doc":"the X coords of the character in the current line. When in graph mode: X coords of the character in 'node'. When in flat mode: X coords of the character in the line, w/o taking scrolling into consideration."
},
{
"ref":"ida_kernwin.renderer_pos_info_t.cy",
"url":17,
"doc":"the Y coords of the character. When in graph mode: Y coords of the character in 'node'. When in flat mode: Line number, starting from the top."
},
{
"ref":"ida_kernwin.renderer_pos_info_t.sx",
"url":17,
"doc":"the number of chars that are scrolled (flat mode only)"
},
{
"ref":"ida_kernwin.view_mouse_event_location_t",
"url":17,
"doc":"Proxy of C view_mouse_event_location_t class. __init__(self) -> view_mouse_event_location_t"
},
{
"ref":"ida_kernwin.view_mouse_event_location_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.view_mouse_event_location_t.ea",
"url":17,
"doc":"flat view (rtype  TCCRT_FLAT)"
},
{
"ref":"ida_kernwin.view_mouse_event_location_t.item",
"url":17,
"doc":"graph views (rtype != TCCRT_FLAT). nullptr if mouse is not currently over an item."
},
{
"ref":"ida_kernwin.view_mouse_event_t",
"url":17,
"doc":"Proxy of C view_mouse_event_t class. __init__(self) -> view_mouse_event_t"
},
{
"ref":"ida_kernwin.view_mouse_event_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.view_mouse_event_t.rtype",
"url":17,
"doc":"type of renderer that received the event"
},
{
"ref":"ida_kernwin.view_mouse_event_t.x",
"url":17,
"doc":"screen x coordinate"
},
{
"ref":"ida_kernwin.view_mouse_event_t.y",
"url":17,
"doc":"screen y coordinate"
},
{
"ref":"ida_kernwin.view_mouse_event_t.location",
"url":17,
"doc":"location where event was generated"
},
{
"ref":"ida_kernwin.view_mouse_event_t.state",
"url":17,
"doc":"contains information about what buttons are CURRENTLY pressed on the keyboard and mouse. view_mouse_event_t instances created in functions like mouseReleaseEvent() won't contain any information about the mouse, because it has been released."
},
{
"ref":"ida_kernwin.view_mouse_event_t.button",
"url":17,
"doc":"represents which mouse button was responsible for generating the event. This field does not care about the current state of the mouse."
},
{
"ref":"ida_kernwin.view_mouse_event_t.renderer_pos",
"url":17,
"doc":"position where event was generated, relative to the renderer"
},
{
"ref":"ida_kernwin.view_activated",
"url":17,
"doc":"A view is activated @param view: (TWidget  )"
},
{
"ref":"ida_kernwin.view_deactivated",
"url":17,
"doc":"A view is deactivated @param view: (TWidget  )"
},
{
"ref":"ida_kernwin.view_keydown",
"url":17,
"doc":"Key down event @param view: (TWidget  ) @param key: (int) @param state: ( view_event_state_t)"
},
{
"ref":"ida_kernwin.view_click",
"url":17,
"doc":"Click event @param view: (TWidget  ) @param event: (const view_mouse_event_t  )"
},
{
"ref":"ida_kernwin.view_dblclick",
"url":17,
"doc":"Double click event @param view: (TWidget  ) @param event: (const view_mouse_event_t  )"
},
{
"ref":"ida_kernwin.view_curpos",
"url":17,
"doc":"Cursor position changed @param view: (TWidget  )"
},
{
"ref":"ida_kernwin.view_created",
"url":17,
"doc":"A view is being created. @param view: (TWidget  )"
},
{
"ref":"ida_kernwin.view_close",
"url":17,
"doc":"View closed @param view: (TWidget  )"
},
{
"ref":"ida_kernwin.view_switched",
"url":17,
"doc":"A view's renderer has changed. @param view: (TWidget  ) @param rt: (tcc_renderer_type_t)"
},
{
"ref":"ida_kernwin.view_mouse_over",
"url":17,
"doc":"The user moved the mouse over (or out of) a node or an edge. This is only relevant in a graph view. @param view: (TWidget  ) @param event: (const view_mouse_event_t  )"
},
{
"ref":"ida_kernwin.view_loc_changed",
"url":17,
"doc":"The location for the view has changed (can be either the place_t, the renderer_info_t, or both.) @param view: (TWidget  ) @param now: (const lochist_entry_t  ) @param was: (const lochist_entry_t  )"
},
{
"ref":"ida_kernwin.view_mouse_moved",
"url":17,
"doc":"The mouse moved on the view @param view: (TWidget  ) @param event: (const view_mouse_event_t  )"
},
{
"ref":"ida_kernwin.input_event_t",
"url":17,
"doc":"Proxy of C input_event_t class. __init__(self) -> input_event_t"
},
{
"ref":"ida_kernwin.input_event_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.input_event_t.cb",
"url":17,
"doc":"size marker"
},
{
"ref":"ida_kernwin.input_event_t.kind",
"url":17,
"doc":"the kind of event"
},
{
"ref":"ida_kernwin.input_event_t.modifiers",
"url":17,
"doc":"current keyboard (and mouse) modifiers"
},
{
"ref":"ida_kernwin.input_event_t.target",
"url":17,
"doc":"the target widget"
},
{
"ref":"ida_kernwin.input_event_t.source",
"url":17,
"doc":"the source event, should it be required for detailed inform (e.g., a QEvent in the GUI version of IDA)"
},
{
"ref":"ida_kernwin.input_event_t.shortcut",
"url":17,
"doc":"shortcut"
},
{
"ref":"ida_kernwin.input_event_t.keyboard",
"url":17,
"doc":"keyboard"
},
{
"ref":"ida_kernwin.input_event_t.mouse",
"url":17,
"doc":"mouse"
},
{
"ref":"ida_kernwin.input_event_t.get_source_QEvent",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.input_event_t.get_target_QWidget",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.input_event_shortcut_data_t",
"url":17,
"doc":"Proxy of C input_event_t input_event_shortcut_data_t class. __init__(self) -> input_event_shortcut_data_t"
},
{
"ref":"ida_kernwin.input_event_shortcut_data_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.input_event_shortcut_data_t.action_name",
"url":17,
"doc":"action_name"
},
{
"ref":"ida_kernwin.input_event_keyboard_data_t",
"url":17,
"doc":"Proxy of C input_event_t input_event_keyboard_data_t class. __init__(self) -> input_event_keyboard_data_t"
},
{
"ref":"ida_kernwin.input_event_keyboard_data_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.input_event_keyboard_data_t.key",
"url":17,
"doc":"key"
},
{
"ref":"ida_kernwin.input_event_keyboard_data_t.text",
"url":17,
"doc":"text"
},
{
"ref":"ida_kernwin.input_event_mouse_data_t",
"url":17,
"doc":"Proxy of C input_event_t input_event_mouse_data_t class. __init__(self) -> input_event_mouse_data_t"
},
{
"ref":"ida_kernwin.input_event_mouse_data_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.input_event_mouse_data_t.x",
"url":17,
"doc":"x"
},
{
"ref":"ida_kernwin.input_event_mouse_data_t.y",
"url":17,
"doc":"y"
},
{
"ref":"ida_kernwin.input_event_mouse_data_t.button",
"url":17,
"doc":"button"
},
{
"ref":"ida_kernwin.MFF_FAST",
"url":17,
"doc":"execute code as soon as possible this mode is ok call ui related functions that do not query the database."
},
{
"ref":"ida_kernwin.MFF_READ",
"url":17,
"doc":"execute code only when ida is idle and it is safe to query the database. this mode is recommended only for code that does not modify the database. (nb: ida may be in the middle of executing another user request, for example it may be waiting for him to enter values into a modal dialog box)"
},
{
"ref":"ida_kernwin.MFF_WRITE",
"url":17,
"doc":"execute code only when ida is idle and it is safe to modify the database. in particular, this flag will suspend execution if there is a modal dialog box on the screen this mode can be used to call any ida api function. MFF_WRITE implies MFF_READ"
},
{
"ref":"ida_kernwin.MFF_NOWAIT",
"url":17,
"doc":"Do not wait for the request to be executed. he caller should ensure that the request is not destroyed until the execution completes. if not, the request will be ignored. the return code of execute_sync() is meaningless in this case. This flag can be used to delay the code execution until the next UI loop run even from the main thread"
},
{
"ref":"ida_kernwin.ui_requests_t",
"url":17,
"doc":"Proxy of C ui_requests_t class. __init__(self) -> ui_requests_t"
},
{
"ref":"ida_kernwin.ui_requests_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.UIJMP_ACTIVATE",
"url":17,
"doc":"activate the new window"
},
{
"ref":"ida_kernwin.UIJMP_DONTPUSH",
"url":17,
"doc":"do not remember the current address in the navigation history"
},
{
"ref":"ida_kernwin.UIJMP_ANYVIEW",
"url":17,
"doc":"jump in any ea_t-capable view"
},
{
"ref":"ida_kernwin.UIJMP_IDAVIEW",
"url":17,
"doc":"jump in idaview"
},
{
"ref":"ida_kernwin.UIJMP_IDAVIEW_NEW",
"url":17,
"doc":"jump in new idaview"
},
{
"ref":"ida_kernwin.action_ctx_base_cur_sel_t",
"url":17,
"doc":"Proxy of C action_ctx_base_cur_sel_t class. __init__(self) -> action_ctx_base_cur_sel_t"
},
{
"ref":"ida_kernwin.action_ctx_base_cur_sel_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.action_ctx_base_cur_sel_t.to",
"url":17,
"doc":"end of selection"
},
{
"ref":"ida_kernwin.action_ctx_base_cur_sel_t.reset",
"url":17,
"doc":"reset(self)",
"func":1
},
{
"ref":"ida_kernwin.action_ctx_base_t",
"url":17,
"doc":"Proxy of C action_ctx_base_t class. __init__(self) -> action_ctx_base_t"
},
{
"ref":"ida_kernwin.action_ctx_base_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.action_ctx_base_t.reset",
"url":17,
"doc":"reset(self) Invalidate all context info.",
"func":1
},
{
"ref":"ida_kernwin.action_ctx_base_t.widget",
"url":17,
"doc":"widget"
},
{
"ref":"ida_kernwin.action_ctx_base_t.widget_type",
"url":17,
"doc":"type of current widget"
},
{
"ref":"ida_kernwin.action_ctx_base_t.widget_title",
"url":17,
"doc":"title of current widget"
},
{
"ref":"ida_kernwin.action_ctx_base_t.chooser",
"url":17,
"doc":"the underlying chooser_base_t (if 'widget' is a chooser widget)"
},
{
"ref":"ida_kernwin.action_ctx_base_t.chooser_selection",
"url":17,
"doc":"current chooser selection (0-based)"
},
{
"ref":"ida_kernwin.action_ctx_base_t.action",
"url":17,
"doc":"action name"
},
{
"ref":"ida_kernwin.action_ctx_base_t.cur_flags",
"url":17,
"doc":"Current address information. see Action context property bits."
},
{
"ref":"ida_kernwin.action_ctx_base_t.has_flag",
"url":17,
"doc":"has_flag(self, flag) -> bool Check if the given flag is set. @param flag: (C : uint32)",
"func":1
},
{
"ref":"ida_kernwin.action_ctx_base_t.cur_ea",
"url":17,
"doc":"the current EA of the position in the view"
},
{
"ref":"ida_kernwin.action_ctx_base_t.cur_value",
"url":17,
"doc":"the possible address, or value the cursor is positioned on"
},
{
"ref":"ida_kernwin.action_ctx_base_t.cur_func",
"url":17,
"doc":"the current function"
},
{
"ref":"ida_kernwin.action_ctx_base_t.cur_fchunk",
"url":17,
"doc":"the current function chunk"
},
{
"ref":"ida_kernwin.action_ctx_base_t.cur_seg",
"url":17,
"doc":"the current segment"
},
{
"ref":"ida_kernwin.action_ctx_base_t.cur_sel",
"url":17,
"doc":"the currently selected range. also see ACF_HAS_SELECTION"
},
{
"ref":"ida_kernwin.action_ctx_base_t.regname",
"url":17,
"doc":"register name (if widget_type  BWN_CPUREGS and context menu opened on register)"
},
{
"ref":"ida_kernwin.action_ctx_base_t.focus",
"url":17,
"doc":"The focused widget in case it is not the 'form' itself (e.g., the 'quick filter' input in choosers.)"
},
{
"ref":"ida_kernwin.action_ctx_base_t.graph",
"url":17,
"doc":"the current graph (if in a graph view)"
},
{
"ref":"ida_kernwin.action_ctx_base_t.graph_selection",
"url":17,
"doc":"the current graph selection (if in a graph view)"
},
{
"ref":"ida_kernwin.action_ctx_base_t.dirtree_selection",
"url":17,
"doc":"the current dirtree_t selection (if applicable)"
},
{
"ref":"ida_kernwin.action_ctx_base_t.type_ref",
"url":17,
"doc":"a reference to the current type (if 'widget' is a type listing widget; nullptr otherwise)"
},
{
"ref":"ida_kernwin.action_ctx_base_t.cur_extracted_ea",
"url":17,
"doc":"cur_value"
},
{
"ref":"ida_kernwin.action_ctx_base_t.form",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.action_ctx_base_t.form_type",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.action_ctx_base_t.form_title",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.ACF_HAS_SELECTION",
"url":17,
"doc":"there is currently a valid selection"
},
{
"ref":"ida_kernwin.ACF_XTRN_EA",
"url":17,
"doc":"cur_ea is in 'externs' segment"
},
{
"ref":"ida_kernwin.ACF_HAS_FIELD_DIRTREE_SELECTION",
"url":17,
"doc":"'dirtree_selection' field is present"
},
{
"ref":"ida_kernwin.ACF_HAS_SOURCE",
"url":17,
"doc":"'source' field is present"
},
{
"ref":"ida_kernwin.ACF_HAS_TYPE_REF",
"url":17,
"doc":"'type_ref' field is present"
},
{
"ref":"ida_kernwin.AHF_VERSION",
"url":17,
"doc":"action handler version (used by action_handler_t flags)"
},
{
"ref":"ida_kernwin.AHF_VERSION_MASK",
"url":17,
"doc":"mask for action_handler_t flags"
},
{
"ref":"ida_kernwin.action_desc_t",
"url":17,
"doc":"Proxy of C action_desc_t class. __init__(self, name, label, handler, shortcut=None, tooltip=None, icon=-1, flags=0) -> action_desc_t @param name: char const  @param label: char const  @param handler: PyObject  @param shortcut: char const  @param tooltip: char const  @param icon: int @param flags: int"
},
{
"ref":"ida_kernwin.action_desc_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.action_desc_t.cb",
"url":17,
"doc":"size of this structure"
},
{
"ref":"ida_kernwin.action_desc_t.name",
"url":17,
"doc":"the internal name of the action; must be unique. a way to reduce possible conflicts is to prefix it with some specific prefix. E.g., \"myplugin:doSthg\"."
},
{
"ref":"ida_kernwin.action_desc_t.label",
"url":17,
"doc":"the label of the action, possibly with an accelerator key definition (e.g., \"~J~ump to operand\")"
},
{
"ref":"ida_kernwin.action_desc_t.owner",
"url":17,
"doc":"either the plugin_t, or plugmod_t responsible for registering the action. Can be nullptr Please see ACTION_DESC_LITERAL_PLUGMOD"
},
{
"ref":"ida_kernwin.action_desc_t.shortcut",
"url":17,
"doc":"an optional shortcut definition. E.g., \"Ctrl+Enter\""
},
{
"ref":"ida_kernwin.action_desc_t.tooltip",
"url":17,
"doc":"an optional tooltip for the action"
},
{
"ref":"ida_kernwin.action_desc_t.icon",
"url":17,
"doc":"an optional icon ID to use"
},
{
"ref":"ida_kernwin.action_desc_t.flags",
"url":17,
"doc":"See Action flags."
},
{
"ref":"ida_kernwin.ADF_OWN_HANDLER",
"url":17,
"doc":"handler is owned by the action; it'll be destroyed when the action is unregistered. Use DYNACTION_DESC_LITERAL to set this bit."
},
{
"ref":"ida_kernwin.ADF_NO_UNDO",
"url":17,
"doc":"the action does not create an undo point. useful for actions that do not modify the database."
},
{
"ref":"ida_kernwin.ADF_OT_MASK",
"url":17,
"doc":"Owner type mask."
},
{
"ref":"ida_kernwin.ADF_OT_PLUGIN",
"url":17,
"doc":"Owner is a plugin_t."
},
{
"ref":"ida_kernwin.ADF_OT_PLUGMOD",
"url":17,
"doc":"Owner is a plugmod_t."
},
{
"ref":"ida_kernwin.ADF_OT_PROCMOD",
"url":17,
"doc":"Owner is a procmod_t."
},
{
"ref":"ida_kernwin.ADF_GLOBAL",
"url":17,
"doc":"Register the action globally, so that it's available even if no IDB is present"
},
{
"ref":"ida_kernwin.ADF_NO_HIGHLIGHT",
"url":17,
"doc":"After activating, do not update the highlight according to what's under the cursor (listings only.)"
},
{
"ref":"ida_kernwin.ADF_CHECKABLE",
"url":17,
"doc":"action is checkable"
},
{
"ref":"ida_kernwin.ADF_CHECKED",
"url":17,
"doc":"starts in a checked state (requires ADF_CHECKABLE)"
},
{
"ref":"ida_kernwin.AA_NONE",
"url":17,
"doc":"no effect"
},
{
"ref":"ida_kernwin.AA_LABEL",
"url":17,
"doc":"see update_action_label()"
},
{
"ref":"ida_kernwin.AA_SHORTCUT",
"url":17,
"doc":"see update_action_shortcut()"
},
{
"ref":"ida_kernwin.AA_TOOLTIP",
"url":17,
"doc":"see update_action_tooltip()"
},
{
"ref":"ida_kernwin.AA_ICON",
"url":17,
"doc":"see update_action_icon()"
},
{
"ref":"ida_kernwin.AA_STATE",
"url":17,
"doc":"see update_action_state()"
},
{
"ref":"ida_kernwin.AA_CHECKABLE",
"url":17,
"doc":"see update_action_checkable()"
},
{
"ref":"ida_kernwin.AA_CHECKED",
"url":17,
"doc":"see update_action_checked()"
},
{
"ref":"ida_kernwin.AA_VISIBILITY",
"url":17,
"doc":"see update_action_visibility()"
},
{
"ref":"ida_kernwin.cancel_exec_request",
"url":17,
"doc":"cancel_exec_request(req_id) -> bool Try to cancel an asynchronous exec request ( ui_cancel_exec_request). @param req_id: (C : int) request id @retval true: successfully canceled @retval false: request has already been processed.",
"func":1
},
{
"ref":"ida_kernwin.cancel_thread_exec_requests",
"url":17,
"doc":"cancel_thread_exec_requests(tid) -> int Try to cancel asynchronous exec requests created by the specified thread. @param tid: (C : qthread_t) thread id @return: number of the canceled requests.",
"func":1
},
{
"ref":"ida_kernwin.set_execute_sync_availability",
"url":17,
"doc":"set_execute_sync_availability(tid, availability) -> execute_sync_availability_t Set the availability of the execute_sync functionality for the given thread Setting it to  esa_unavailable will cause the existing requests for this thread to be cancelled. Setting it to  esa_release will clear the status for this thread, and should be issued right before a call to  qthread_free is issued. @param tid: (C : qthread_t) thread id @param availability: (C : execute_sync_availability_t) the availability @return: the previous availability",
"func":1
},
{
"ref":"ida_kernwin.get_synced_group",
"url":17,
"doc":"get_synced_group(w) -> synced_group_t Get the group of widgets/registers this view is synchronized with @param w: (C : const TWidget  ) the widget @return: the group of widgets/registers, or nullptr",
"func":1
},
{
"ref":"ida_kernwin.banner",
"url":17,
"doc":"banner(wait) -> bool Show a banner dialog box (ui_banner). @param wait: (C : int) time to wait before closing @retval 1: ok @retval 0: esc was pressed",
"func":1
},
{
"ref":"ida_kernwin.is_msg_inited",
"url":17,
"doc":"is_msg_inited() -> bool Can we use msg() functions?",
"func":1
},
{
"ref":"ida_kernwin.refresh_idaview",
"url":17,
"doc":"refresh_idaview() Refresh marked windows (ui_refreshmarked)",
"func":1
},
{
"ref":"ida_kernwin.refresh_idaview_anyway",
"url":17,
"doc":"refresh_idaview_anyway() Refresh all disassembly views (ui_refresh), forces an immediate refresh. Please consider request_refresh() instead",
"func":1
},
{
"ref":"ida_kernwin.analyzer_options",
"url":17,
"doc":"analyzer_options() Allow the user to set analyzer options. (show a dialog box) (ui_analyzer_options)",
"func":1
},
{
"ref":"ida_kernwin.get_screen_ea",
"url":17,
"doc":"get_screen_ea() -> ea_t Get the address at the screen cursor (ui_screenea)",
"func":1
},
{
"ref":"ida_kernwin.get_opnum",
"url":17,
"doc":"get_opnum() -> int Get current operand number, -1 means no operand (ui_get_opnum)",
"func":1
},
{
"ref":"ida_kernwin.get_cursor",
"url":17,
"doc":"get_cursor() -> bool Get the cursor position on the screen (ui_get_cursor). @note: coordinates are 0-based @retval true: pointers are filled @retval false: no disassembly window open",
"func":1
},
{
"ref":"ida_kernwin.get_output_cursor",
"url":17,
"doc":"get_output_cursor() -> bool Get coordinates of the output window's cursor (ui_get_output_cursor). @note: coordinates are 0-based @note: this function will succeed even if the output window is not visible @retval false: the output window has been destroyed. @retval true: pointers are filled",
"func":1
},
{
"ref":"ida_kernwin.get_curline",
"url":17,
"doc":"get_curline() -> char const  Get current line from the disassemble window (ui_get_curline). @return: cptr current line with the color codes (use tag_remove() to remove the color codes)",
"func":1
},
{
"ref":"ida_kernwin.open_url",
"url":17,
"doc":"open_url(url) Open the given url (ui_open_url) @param url: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_kernwin.get_hexdump_ea",
"url":17,
"doc":"get_hexdump_ea(hexdump_num) -> ea_t Get the current address in a hex view. @param hexdump_num: (C : int) number of hexview window",
"func":1
},
{
"ref":"ida_kernwin.get_key_code",
"url":17,
"doc":"get_key_code(keyname) -> ushort Get keyboard key code by its name (ui_get_key_code) @param keyname: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_kernwin.lookup_key_code",
"url":17,
"doc":"lookup_key_code(key, shift, is_qt) -> ushort Get shortcut code previously created by ui_get_key_code. @param key: (C : int) key constant @param shift: (C : int) modifiers @param is_qt: (C : bool) are we using gui version?",
"func":1
},
{
"ref":"ida_kernwin.refresh_navband",
"url":17,
"doc":"refresh_navband(force) Refresh navigation band if changed (ui_refresh_navband). @param force: (C : bool) refresh regardless",
"func":1
},
{
"ref":"ida_kernwin.refresh_chooser",
"url":17,
"doc":"refresh_chooser(title) -> bool Mark a non-modal custom chooser for a refresh (ui_refresh_chooser). @param title: (C : const char  ) title of chooser @return: success",
"func":1
},
{
"ref":"ida_kernwin.close_chooser",
"url":17,
"doc":"close_chooser(title) -> bool Close a non-modal chooser (ui_close_chooser). @param title: (C : const char  ) window title of chooser to close @return: success",
"func":1
},
{
"ref":"ida_kernwin.set_dock_pos",
"url":17,
"doc":"set_dock_pos(src_ctrl, dest_ctrl, orient, left=0, top=0, right=0, bottom=0) -> bool Sets the dock orientation of a window relatively to another window. Use the left, top, right, bottom parameters if DP_FLOATING is used, or if you want to specify the width of docked windows. @param src_ctrl: char const  @param dest_ctrl: char const  @param orient: One of DP_XXXX constants @param left: int @param top: int @param right: int @param bottom: int @return: Boolean Example: set_dock_pos('Structures', 'Enums', DP_RIGHT) <- docks the Structures window to the right of Enums window",
"func":1
},
{
"ref":"ida_kernwin.get_icon_id_by_name",
"url":17,
"doc":"get_icon_id_by_name(icon_name) -> int Retrieve the id of the icon by name (ui_get_icon_id_by_name). @param icon_name: (C : const char  ) full name of the icon @return: icon id",
"func":1
},
{
"ref":"ida_kernwin.free_custom_icon",
"url":17,
"doc":"free_custom_icon(icon_id) Frees an icon loaded with load_custom_icon() @param icon_id: int",
"func":1
},
{
"ref":"ida_kernwin.unregister_action",
"url":17,
"doc":"unregister_action(name) -> bool Delete a previously-registered action (ui_unregister_action). @param name: (C : const char  ) name of action @return: success",
"func":1
},
{
"ref":"ida_kernwin.create_toolbar",
"url":17,
"doc":"create_toolbar(name, label, before=None, flags=0) -> bool Create a toolbar with the given name, label and optional position @param name: (C : const char  ) name of toolbar (must be unique) @param label: (C : const char  ) label of toolbar @param before: (C : const char  ) if non-nullptr, the toolbar before which the new toolbar will be inserted @param flags: (C : int) a combination of create toolbar flags, to determine toolbar position @return: success",
"func":1
},
{
"ref":"ida_kernwin.delete_toolbar",
"url":17,
"doc":"delete_toolbar(name) -> bool Delete an existing toolbar @param name: (C : const char  ) name of toolbar @return: success",
"func":1
},
{
"ref":"ida_kernwin.create_menu",
"url":17,
"doc":"create_menu(name, label, menupath=None) -> bool Create a menu with the given name, label and optional position, either in the menubar, or as a submenu. If 'menupath' is non-nullptr, it provides information about where the menu should be positioned. First, IDA will try and resolve the corresponding menu by its name. If such an existing menu is found and is present in the menubar, then the new menu will be inserted in the menubar before it. Otherwise, IDA will try to resolve 'menupath' as it would for attach_action_to_menu() and, if found, add the new menu like so:  The new 'My menu' submenu will appear in the 'Comments' submenu  before the 'Enter comment .\" command create_menu(\"( .)\", \"My menu\", \"Edit/Comments/Enter comment .\"); or  The new 'My menu' submenu will appear at the end of the  'Comments' submenu. create_menu(\"( .)\", \"My menu\", \"Edit/Comments/\"); If the above fails, the new menu will be appended to the menubar. @param name: (C : const char  ) name of menu (must be unique) @param label: (C : const char  ) label of menu @param menupath: (C : const char  ) where should the menu be inserted @return: success",
"func":1
},
{
"ref":"ida_kernwin.delete_menu",
"url":17,
"doc":"delete_menu(name) -> bool Delete an existing menu @param name: (C : const char  ) name of menu @return: success",
"func":1
},
{
"ref":"ida_kernwin.attach_action_to_menu",
"url":17,
"doc":"attach_action_to_menu(menupath, name, flags=0) -> bool Attach a previously-registered action to the menu (ui_attach_action_to_menu). @note: You should not change top level menu, or the Edit,Plugins submenus If you want to modify the debugger menu, do it at the ui_debugger_menu_change event (ida might destroy your menu item if you do it elsewhere). @param menupath: (C : const char  ) path to the menu item after or before which the insertion will take place.  Example: Debug/StartProcess  Whitespace, punctuation are ignored.  It is allowed to specify only the prefix of the menu item.  Comparison is case insensitive.  menupath may start with the following prefixes:  [S] - modify the main menu of the structure window  [E] - modify the main menu of the enum window @param name: (C : const char  ) the action name @param flags: (C : int) a combination of Set menu flags, to determine menu item position @return: success",
"func":1
},
{
"ref":"ida_kernwin.detach_action_from_menu",
"url":17,
"doc":"detach_action_from_menu(menupath, name) -> bool Detach an action from the menu (ui_detach_action_from_menu). @param menupath: (C : const char  ) path to the menu item @param name: (C : const char  ) the action name @return: success",
"func":1
},
{
"ref":"ida_kernwin.attach_action_to_toolbar",
"url":17,
"doc":"attach_action_to_toolbar(toolbar_name, name) -> bool Attach an action to an existing toolbar (ui_attach_action_to_toolbar). @param toolbar_name: (C : const char  ) the name of the toolbar @param name: (C : const char  ) the action name @return: success",
"func":1
},
{
"ref":"ida_kernwin.detach_action_from_toolbar",
"url":17,
"doc":"detach_action_from_toolbar(toolbar_name, name) -> bool Detach an action from the toolbar (ui_detach_action_from_toolbar). @param toolbar_name: (C : const char  ) the name of the toolbar @param name: (C : const char  ) the action name @return: success",
"func":1
},
{
"ref":"ida_kernwin.register_and_attach_to_menu",
"url":17,
"doc":"register_and_attach_to_menu(menupath, name, label, shortcut, flags, handler, owner, action_desc_t_flags) -> bool Helper. You are not encouraged to use this, as it mixes flags for both register_action(), and attach_action_to_menu(). The only reason for its existence is to make it simpler to port existing plugins to the new actions API. @param menupath: (C : const char  ) char const  @param name: (C : const char  ) char const  @param label: (C : const char  ) char const  @param shortcut: (C : const char  ) char const  @param flags: (C : int) @param handler: (C : action_handler_t  ) @param owner: (C : void  ) @param action_desc_t_flags: (C : int)",
"func":1
},
{
"ref":"ida_kernwin.display_widget",
"url":17,
"doc":"display_widget(widget, options, dest_ctrl=None) Display a widget, dock it if not done before @param widget: (C : TWidget  ) widget to display @param options: (C : uint32) Widget open flags @param dest_ctrl: (C : const char  ) where to dock: if nullptr or invalid then use the active docker if there is not create a new tab relative to current active tab",
"func":1
},
{
"ref":"ida_kernwin.close_widget",
"url":17,
"doc":"close_widget(widget, options) Close widget (ui_close_widget, only gui version). @param widget: (C : TWidget  ) pointer to the widget to close @param options: (C : int) Form close flags",
"func":1
},
{
"ref":"ida_kernwin.activate_widget",
"url":17,
"doc":"activate_widget(widget, take_focus) Activate widget (only gui version) (ui_activate_widget). @param widget: (C : TWidget  ) existing widget to display @param take_focus: (C : bool) give focus to given widget",
"func":1
},
{
"ref":"ida_kernwin.find_widget",
"url":17,
"doc":"find_widget(caption) -> TWidget  Find widget with the specified caption (only gui version) (ui_find_widget). NB: this callback works only with the tabbed widgets! @param caption: (C : const char  ) title of tab, or window title if widget is not tabbed @return: pointer to the TWidget, nullptr if none is found",
"func":1
},
{
"ref":"ida_kernwin.get_current_widget",
"url":17,
"doc":"get_current_widget() -> TWidget  Get a pointer to the current widget (ui_get_current_widget).",
"func":1
},
{
"ref":"ida_kernwin.get_widget_type",
"url":17,
"doc":"get_widget_type(widget) -> twidget_type_t Get the type of the TWidget  (ui_get_widget_type). @param widget: (C : TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.get_widget_title",
"url":17,
"doc":"get_widget_title(widget) -> str Get the TWidget's title (ui_get_widget_title). @param widget: (C : TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.custom_viewer_jump",
"url":17,
"doc":"custom_viewer_jump(v, loc, flags=0) -> bool Append 'loc' to the viewer's history, and cause the viewer to display it. @param v: (C : TWidget  ) (TWidget  ) @param loc: (C : const lochist_entry_t &) (const lochist_entry_t &) @param flags: (C : uint32) (uint32) or'ed combination of CVNF_ values @return: success",
"func":1
},
{
"ref":"ida_kernwin.ea_viewer_history_push_and_jump",
"url":17,
"doc":"ea_viewer_history_push_and_jump(v, ea, x, y, lnnum) -> bool Push current location in the history and jump to the given location (ui_ea_viewer_history_push_and_jump). This will jump in the given ea viewer and also in other synchronized views. @param v: (C : TWidget  ) ea viewer @param ea: (C : ea_t) jump destination @param x: (C : int) ,y: coords on screen @param lnnum: (C : int) desired line number of given address @param lnnum: (C : int) desired line number of given address",
"func":1
},
{
"ref":"ida_kernwin.get_ea_viewer_history_info",
"url":17,
"doc":"get_ea_viewer_history_info(nback, nfwd, v) -> bool Get information about what's in the history (ui_ea_viewer_history_info). @param nback: (C : int  ) number of available back steps @param nfwd: (C : int  ) number of available forward steps @param v: (C : TWidget  ) ea viewer @retval false: if the given ea viewer does not exist @retval true: otherwise",
"func":1
},
{
"ref":"ida_kernwin.refresh_custom_viewer",
"url":17,
"doc":"refresh_custom_viewer(custom_viewer) Refresh custom ida viewer (ui_refresh_custom_viewer) @param custom_viewer: (C : TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.repaint_custom_viewer",
"url":17,
"doc":"repaint_custom_viewer(custom_viewer) Repaint the given widget immediately (ui_repaint_qwidget) @param custom_viewer: (C : TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.jumpto",
"url":17,
"doc":"jumpto(ea, opnum=-1, uijmp_flags=0x0001) -> bool Set cursor position in custom ida viewer. @param custom_viewer: (C : TWidget  ) view @param place: (C : place_t  ) target position @param uijmp_flags: int @return: success jumpto(custom_viewer, place, x, y) -> bool @param custom_viewer: TWidget  @param place: place_t  @param x: int",
"func":1
},
{
"ref":"ida_kernwin.get_custom_viewer_place",
"url":17,
"doc":"get_custom_viewer_place(custom_viewer, mouse) -> place_t Get current place in a custom viewer (ui_get_curplace). See also the more complete get_custom_viewer_location() @param custom_viewer: (C : TWidget  ) view @param mouse: (C : bool) mouse position (otherwise cursor position)",
"func":1
},
{
"ref":"ida_kernwin.get_custom_viewer_location",
"url":17,
"doc":"get_custom_viewer_location(out, custom_viewer, mouse=False) -> bool Get the current location in a custom viewer (ui_get_custom_viewer_location_2). @param out: (C : listing_location_t  ) output structure to fill @param custom_viewer: (C : TWidget  ) the listing widget @param flags: (C : uint32) or'ed combination of CVLF_ values get_custom_viewer_location(out, custom_viewer, flags=0) -> bool @param out: listing_location_t  @param custom_viewer: TWidget  @param flags: uint32",
"func":1
},
{
"ref":"ida_kernwin.is_idaq",
"url":17,
"doc":"is_idaq() -> bool Returns True or False depending if IDAPython is hosted by IDAQ",
"func":1
},
{
"ref":"ida_kernwin.attach_action_to_popup",
"url":17,
"doc":"attach_action_to_popup(widget, popup_handle, name, popuppath=None, flags=0) -> bool Insert a previously-registered action into the widget's popup menu (ui_attach_action_to_popup). This function has two \"modes\": 'single-shot', and 'permanent'. @param widget: (C : TWidget  ) target widget @param popup_handle: (C : TPopupMenu  ) target popup menu  if non-nullptr, the action is added to this popup menu invocation (i.e., 'single-shot')  if nullptr, the action is added to a list of actions that should always be present in context menus for this widget (i.e., 'permanent'.) @param name: (C : const char  ) action name @param popuppath: (C : const char  ) can be nullptr @param flags: (C : int) a combination of SETMENU_ flags (see Set menu flags) @return: success",
"func":1
},
{
"ref":"ida_kernwin.detach_action_from_popup",
"url":17,
"doc":"detach_action_from_popup(widget, name) -> bool Remove a previously-registered action, from the list of 'permanent' context menu actions for this widget (ui_detach_action_from_popup). This only makes sense if the action has been added to 'widget's list of permanent popup actions by calling attach_action_to_popup in 'permanent' mode. @param widget: (C : TWidget  ) target widget @param name: (C : const char  ) action name",
"func":1
},
{
"ref":"ida_kernwin.update_action_label",
"url":17,
"doc":"update_action_label(name, label) -> bool Update an action's label (ui_update_action_attr). @param name: (C : const char  ) action name @param label: (C : const char  ) new label @return: success",
"func":1
},
{
"ref":"ida_kernwin.update_action_shortcut",
"url":17,
"doc":"update_action_shortcut(name, shortcut) -> bool Update an action's shortcut (ui_update_action_attr). @param name: (C : const char  ) action name @param shortcut: (C : const char  ) new shortcut @return: success",
"func":1
},
{
"ref":"ida_kernwin.update_action_tooltip",
"url":17,
"doc":"update_action_tooltip(name, tooltip) -> bool Update an action's tooltip (ui_update_action_attr). @param name: (C : const char  ) action name @param tooltip: (C : const char  ) new tooltip @return: success",
"func":1
},
{
"ref":"ida_kernwin.update_action_icon",
"url":17,
"doc":"update_action_icon(name, icon) -> bool Update an action's icon (ui_update_action_attr). @param name: (C : const char  ) action name @param icon: (C : int) new icon id @return: success",
"func":1
},
{
"ref":"ida_kernwin.update_action_state",
"url":17,
"doc":"update_action_state(name, state) -> bool Update an action's state (ui_update_action_attr). @param name: (C : const char  ) action name @param state: (C : action_state_t) new state @return: success",
"func":1
},
{
"ref":"ida_kernwin.update_action_checkable",
"url":17,
"doc":"update_action_checkable(name, checkable) -> bool Update an action's checkability (ui_update_action_attr). @param name: (C : const char  ) action name @param checkable: (C : bool) new checkability @return: success",
"func":1
},
{
"ref":"ida_kernwin.update_action_checked",
"url":17,
"doc":"update_action_checked(name, checked) -> bool Update an action's checked state (ui_update_action_attr). @param name: (C : const char  ) action name @param checked: (C : bool) new checked state @return: success",
"func":1
},
{
"ref":"ida_kernwin.update_action_visibility",
"url":17,
"doc":"update_action_visibility(name, visible) -> bool Update an action's visibility (ui_update_action_attr). @param name: (C : const char  ) action name @param visible: (C : bool) new visibility @return: success",
"func":1
},
{
"ref":"ida_kernwin.get_action_label",
"url":17,
"doc":"get_action_label(name) -> str Get an action's label (ui_get_action_attr). @param name: (C : const char  ) the action name @return: success",
"func":1
},
{
"ref":"ida_kernwin.get_action_shortcut",
"url":17,
"doc":"get_action_shortcut(name) -> str Get an action's shortcut (ui_get_action_attr). @param name: (C : const char  ) the action name @return: success",
"func":1
},
{
"ref":"ida_kernwin.get_action_tooltip",
"url":17,
"doc":"get_action_tooltip(name) -> str Get an action's tooltip (ui_get_action_attr). @param name: (C : const char  ) the action name @return: success",
"func":1
},
{
"ref":"ida_kernwin.get_action_icon",
"url":17,
"doc":"get_action_icon(name) -> bool Get an action's icon (ui_get_action_attr). @param name: (C : const char  ) the action name @return: success",
"func":1
},
{
"ref":"ida_kernwin.get_action_state",
"url":17,
"doc":"get_action_state(name) -> bool Get an action's state (ui_get_action_attr). @param name: (C : const char  ) the action name @return: success",
"func":1
},
{
"ref":"ida_kernwin.get_action_checkable",
"url":17,
"doc":"get_action_checkable(name) -> bool Get an action's checkability (ui_get_action_attr). @param name: (C : const char  ) the action name @return: success",
"func":1
},
{
"ref":"ida_kernwin.get_action_checked",
"url":17,
"doc":"get_action_checked(name) -> bool Get an action's checked state (ui_get_action_attr). @param name: (C : const char  ) the action name @return: success",
"func":1
},
{
"ref":"ida_kernwin.get_action_visibility",
"url":17,
"doc":"get_action_visibility(name) -> bool Get an action's visibility (ui_get_action_attr). @param name: (C : const char  ) the action name @return: success",
"func":1
},
{
"ref":"ida_kernwin.set_custom_viewer_qt_aware",
"url":17,
"doc":"set_custom_viewer_qt_aware(custom_viewer) -> bool Allow the given viewer to interpret Qt events (ui_set_custom_viewer_handler) @param custom_viewer: (C : TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.get_custom_viewer_curline",
"url":17,
"doc":"get_custom_viewer_curline(custom_viewer, mouse) -> char const  Get current line of custom viewer (ui_get_custom_viewer_curline). The returned line contains color codes See also the more powerful get_custom_viewer_location() @param custom_viewer: (C : TWidget  ) view @param mouse: (C : bool) mouse position (otherwise cursor position) @return: pointer to contents of current line",
"func":1
},
{
"ref":"ida_kernwin.get_custom_viewer_place_xcoord",
"url":17,
"doc":"get_custom_viewer_place_xcoord(custom_viewer, pline, pitem) -> int Get the X position of the item, in the line @param custom_viewer: (C : TWidget  ) the widget @param pline: (C : const place_t  ) a place corresponding to the line @param pitem: (C : const place_t  ) a place corresponding to the item @return: -1 if 'pitem' is not included in the line -2 if 'pitem' points at the entire line >= 0 for the X coordinate within the pline, where pitem points",
"func":1
},
{
"ref":"ida_kernwin.get_user_input_event",
"url":17,
"doc":"get_user_input_event(out) -> bool Get the current user input event (mouse button press, key press,  .) It is sometimes desirable to be able to tell when a certain situation happens (e.g., 'view_curpos' gets triggered); this function exists to provide that context (GUI version only) @param out: (C : input_event_t  ) the input event data @return: false if we are not currently processing a user input event",
"func":1
},
{
"ref":"ida_kernwin.get_output_curline",
"url":17,
"doc":"get_output_curline(mouse) -> str Get current line of output window (ui_get_output_curline). @param mouse: (C : bool) current for mouse pointer? @return: false if output contains no text",
"func":1
},
{
"ref":"ida_kernwin.get_output_selected_text",
"url":17,
"doc":"get_output_selected_text() -> str Returns selected text from output window (ui_get_output_selected_text). @return: true if there is a selection",
"func":1
},
{
"ref":"ida_kernwin.get_current_viewer",
"url":17,
"doc":"get_current_viewer() -> TWidget  Get current ida viewer (idaview or custom viewer) (ui_get_current_viewer)",
"func":1
},
{
"ref":"ida_kernwin.get_last_widget",
"url":17,
"doc":"get_last_widget(mask=uint64(-1 -> TWidget Get last ida viewer (idaview or custom viewer) (ui_get_last_widget) @param mask: (C : uint64) an OR'ed set of IWID_ to limit the search to @return: the viewer, if found",
"func":1
},
{
"ref":"ida_kernwin.get_view_renderer_type",
"url":17,
"doc":"get_view_renderer_type(v) -> tcc_renderer_type_t Get the type of renderer currently in use in the given view (ui_get_renderer_type) @param v: (C : TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.set_view_renderer_type",
"url":17,
"doc":"set_view_renderer_type(v, rt) Set the type of renderer to use in a view (ui_set_renderer_type) @param v: (C : TWidget  ) @param rt: (C : tcc_renderer_type_t) enum tcc_renderer_type_t",
"func":1
},
{
"ref":"ida_kernwin.create_empty_widget",
"url":17,
"doc":"create_empty_widget(title, icon=-1) -> TWidget Create an empty widget, serving as a container for custom user widgets @param title: (C : const char  ) char const  @param icon: (C : int)",
"func":1
},
{
"ref":"ida_kernwin.msg_clear",
"url":17,
"doc":"msg_clear() Clear the \"Output\" window.",
"func":1
},
{
"ref":"ida_kernwin.msg_save",
"url":17,
"doc":"msg_save(path) -> bool Save the \"Output\" window contents into a file @param path: (C : qstring &) The path of the file to save the contents into. An empty path means that the user will be prompted for the destination and, if the file already exists, the user will be asked to confirm before overriding its contents. Upon return, 'path' will contain the path that the user chose. @return: success",
"func":1
},
{
"ref":"ida_kernwin.get_active_modal_widget",
"url":17,
"doc":"get_active_modal_widget() -> TWidget  Get the current, active modal TWidget instance. Note that in this context, the \"wait dialog\" is not considered: this function will return nullptr even if it is currently shown. @return: TWidget  the active modal widget, or nullptr",
"func":1
},
{
"ref":"ida_kernwin.get_navband_pixel",
"url":17,
"doc":"get_navband_pixel(ea) -> int Maps an address, onto a pixel coordinate within the navigation band @param ea: The address to map @return: a list [pixel, is_vertical]",
"func":1
},
{
"ref":"ida_kernwin.get_navband_ea",
"url":17,
"doc":"get_navband_ea(pixel) -> ea_t Translate the pixel position on the navigation band, into an address. @param pixel: (C : int)",
"func":1
},
{
"ref":"ida_kernwin.get_window_id",
"url":17,
"doc":"get_window_id(name=None) Get the system-specific window ID (GUI version only) @param name: (C : const char  ) name of the window (nullptr means the main IDA window) @return: the low-level window ID",
"func":1
},
{
"ref":"ida_kernwin.is_idaview",
"url":17,
"doc":"is_idaview(v) -> bool Is the given custom view an idaview? (ui_is_idaview) @param v: (C : TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.read_selection",
"url":17,
"doc":"read_selection(v, p1, p2) -> bool Read the user selection, and store its information in p0 (from) and p1 (to). This can be used as follows: >>> p0 = idaapi.twinpos_t() p1 = idaapi.twinpos_t() view = idaapi.get_current_viewer() idaapi.read_selection(view, p0, p1) At that point, p0 and p1 hold information for the selection. But, the 'at' property of p0 and p1 is not properly typed. To specialize it, call  place() on it, passing it the view they were retrieved from. Like so: >>> place0 = p0.place(view) place1 = p1.place(view) This will effectively \"cast\" the place into a specialized type, holding proper information, depending on the view type (e.g., disassembly, structures, enums,  .) @param view: The view to retrieve the selection for. @param p1: Storage for the \"to\" part of the selection. @param p1: Storage for the \"to\" part of the selection. @return: a bool value indicating success.",
"func":1
},
{
"ref":"ida_kernwin.read_range_selection",
"url":17,
"doc":"read_range_selection(v) -> bool Get the address range for the selected range boundaries, this is the convenient function for read_selection() @param v: (C : TWidget  ) view, nullptr means the last active window containing addresses @retval 0: no range is selected @retval 1: ok, start ea and end ea are filled",
"func":1
},
{
"ref":"ida_kernwin.unmark_selection",
"url":17,
"doc":"unmark_selection() Unmark selection (ui_unmarksel)",
"func":1
},
{
"ref":"ida_kernwin.create_code_viewer",
"url":17,
"doc":"create_code_viewer(custview, flags=0, parent=None) -> TWidget Create a code viewer (ui_create_code_viewer). A code viewer contains on the left side a widget representing the line numbers, and on the right side, the child widget passed as parameter. It will inherit its title from the child widget. @param custview: (C : TWidget  ) the custom view to be added @param flags: (C : int) Code viewer flags @param parent: (C : TWidget  ) widget to contain the new code viewer",
"func":1
},
{
"ref":"ida_kernwin.set_code_viewer_handler",
"url":17,
"doc":"set_code_viewer_handler(code_viewer, handler_id, handler_or_data) -> void  Set a handler for a code viewer event (ui_set_custom_viewer_handler). @param code_viewer: (C : TWidget  ) the code viewer @param handler_id: (C : custom_viewer_handler_id_t) one of CDVH_ in custom_viewer_handler_id_t @param handler_or_data: (C : void  ) can be a handler or data. see examples in Functions: custom viewer handlers @return: old value of the handler or data",
"func":1
},
{
"ref":"ida_kernwin.set_code_viewer_user_data",
"url":17,
"doc":"set_code_viewer_user_data(code_viewer, ud) -> bool Set the user data on a code viewer (ui_set_custom_viewer_handler). @param code_viewer: (C : TWidget  ) @param ud: (C : void  )",
"func":1
},
{
"ref":"ida_kernwin.get_viewer_user_data",
"url":17,
"doc":"get_viewer_user_data(viewer) -> void  Get the user data from a custom viewer (ui_get_viewer_user_data) @param viewer: (C : TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.get_viewer_place_type",
"url":17,
"doc":"get_viewer_place_type(viewer) -> tcc_place_type_t Get the type of place_t instances a viewer uses & creates (ui_get_viewer_place_type). @param viewer: (C : TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.set_code_viewer_line_handlers",
"url":17,
"doc":"set_code_viewer_line_handlers(code_viewer, click_handler, popup_handler, dblclick_handler, drawicon_handler, linenum_handler) Set handlers for code viewer line events. Any of these handlers may be nullptr @param code_viewer: (C : TWidget  ) @param click_handler: (C : code_viewer_lines_click_t  ) @param popup_handler: (C : code_viewer_lines_click_t  ) @param dblclick_handler: (C : code_viewer_lines_click_t  ) @param drawicon_handler: (C : code_viewer_lines_icon_t  ) @param linenum_handler: (C : code_viewer_lines_linenum_t  )",
"func":1
},
{
"ref":"ida_kernwin.set_code_viewer_lines_icon_margin",
"url":17,
"doc":"set_code_viewer_lines_icon_margin(code_viewer, margin) -> bool Set space allowed for icons in the margin of a code viewer (ui_set_custom_viewer_handler). @param code_viewer: (C : TWidget  ) @param margin: (C : int)",
"func":1
},
{
"ref":"ida_kernwin.set_code_viewer_lines_alignment",
"url":17,
"doc":"set_code_viewer_lines_alignment(code_viewer, align) -> bool Set alignment for lines in a code viewer (ui_set_custom_viewer_handler). @param code_viewer: (C : TWidget  ) @param align: (C : int)",
"func":1
},
{
"ref":"ida_kernwin.set_code_viewer_lines_radix",
"url":17,
"doc":"set_code_viewer_lines_radix(code_viewer, radix) -> bool Set radix for values displayed in a code viewer (ui_set_custom_viewer_handler). @param code_viewer: (C : TWidget  ) @param radix: (C : int)",
"func":1
},
{
"ref":"ida_kernwin.set_code_viewer_is_source",
"url":17,
"doc":"set_code_viewer_is_source(code_viewer) -> bool Specify that the given code viewer is used to display source code (ui_set_custom_viewer_handler). @param code_viewer: (C : TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.get_tab_size",
"url":17,
"doc":"get_tab_size(path) -> int Get the size of a tab in spaces (ui_get_tab_size). @param path: (C : const char  ) the path of the source view for which the tab size is requested.  if nullptr, the default size is returned.",
"func":1
},
{
"ref":"ida_kernwin.clr_cancelled",
"url":17,
"doc":"clr_cancelled() Clear \"Cancelled\" flag (ui_clr_cancelled)",
"func":1
},
{
"ref":"ida_kernwin.set_cancelled",
"url":17,
"doc":"set_cancelled() Set \"Cancelled\" flag (ui_set_cancelled)",
"func":1
},
{
"ref":"ida_kernwin.user_cancelled",
"url":17,
"doc":"user_cancelled() -> bool Test the ctrl-break flag (ui_test_cancelled). @retval 1: Ctrl-Break is detected, a message is displayed @retval 2: Ctrl-Break is detected again, a message is not displayed @retval 0: Ctrl-Break is not detected",
"func":1
},
{
"ref":"ida_kernwin.ui_load_new_file",
"url":17,
"doc":"ui_load_new_file(temp_file, filename, pli, neflags, ploaders) -> bool Display a load file dialog and load file (ui_load_file). @param temp_file: (C : qstring  ) name of the file with the extracted archive member. @param filename: (C : qstring  ) the name of input file as is, library or archive name @param pli: (C : linput_t  ) loader input source, may be changed to point to temp_file @param neflags: (C : ushort) combination of NEF_ . bits (see Load file flags) @param ploaders: (C : load_info_t  ) list of loaders which accept file, may be changed for loaders of temp_file @retval true: file was successfully loaded @retval false: otherwise",
"func":1
},
{
"ref":"ida_kernwin.ui_run_debugger",
"url":17,
"doc":"ui_run_debugger(dbgopts, exename, argc, argv) -> bool Load a debugger plugin and run the specified program (ui_run_dbg). @param dbgopts: (C : const char  ) value of the -r command line switch @param exename: (C : const char  ) name of the file to run @param argc: (C : int) number of arguments for the executable @param argv: (C : const char  const  ) argument vector @return: success",
"func":1
},
{
"ref":"ida_kernwin.load_dbg_dbginfo",
"url":17,
"doc":"load_dbg_dbginfo(path, li=None, base=BADADDR, verbose=False) -> bool Load debugging information from a file. @param path: (C : const char  ) path to file @param li: (C : linput_t  ) loader input. if nullptr, check DBG_NAME_KEY @param base: (C : ea_t) loading address @param verbose: (C : bool) dump status to message window",
"func":1
},
{
"ref":"ida_kernwin.add_idc_hotkey",
"url":17,
"doc":"add_idc_hotkey(hotkey, idcfunc) -> int Add hotkey for IDC function (ui_add_idckey). @param hotkey: (C : const char  ) hotkey name @param idcfunc: (C : const char  ) IDC function name @return: IDC hotkey error codes",
"func":1
},
{
"ref":"ida_kernwin.set_highlight",
"url":17,
"doc":"set_highlight(viewer, str, flags) -> bool Set the highlighted identifier in the viewer (ui_set_highlight). @param viewer: (C : TWidget  ) the viewer @param str: (C : const char  ) the text to match, or nullptr to remove current @param flags: (C : int) combination of HIF_ . bits (see set_highlight flags) @return: false if an error occurred",
"func":1
},
{
"ref":"ida_kernwin.open_exports_window",
"url":17,
"doc":"open_exports_window(ea) -> TWidget  Open the exports window (ui_open_builtin). @param ea: (C : ea_t) index of entry to select by default @return: pointer to resulting window",
"func":1
},
{
"ref":"ida_kernwin.open_imports_window",
"url":17,
"doc":"open_imports_window(ea) -> TWidget  Open the exports window (ui_open_builtin). @param ea: (C : ea_t) index of entry to select by default @return: pointer to resulting window",
"func":1
},
{
"ref":"ida_kernwin.open_names_window",
"url":17,
"doc":"open_names_window(ea) -> TWidget  Open the names window (ui_open_builtin). @param ea: (C : ea_t) index of entry to select by default @return: pointer to resulting window",
"func":1
},
{
"ref":"ida_kernwin.open_funcs_window",
"url":17,
"doc":"open_funcs_window(ea) -> TWidget  Open the 'Functions' window (ui_open_builtin). @param ea: (C : ea_t) index of entry to select by default @return: pointer to resulting window",
"func":1
},
{
"ref":"ida_kernwin.open_strings_window",
"url":17,
"doc":"open_strings_window(ea, selstart=BADADDR, selend=BADADDR) -> TWidget Open the 'Strings' window (ui_open_builtin). @param ea: (C : ea_t) index of entry to select by default @param selstart: (C : ea_t) ,selend: only display strings that occur within this range @param selend: (C : ea_t) @return: pointer to resulting window",
"func":1
},
{
"ref":"ida_kernwin.open_segments_window",
"url":17,
"doc":"open_segments_window(ea) -> TWidget  Open the segments window (ui_open_builtin). @param ea: (C : ea_t) index of entry to select by default @return: pointer to resulting window",
"func":1
},
{
"ref":"ida_kernwin.open_segregs_window",
"url":17,
"doc":"open_segregs_window(ea) -> TWidget  Open the segment registers window (ui_open_builtin). @param ea: (C : ea_t) index of entry to select by default @return: pointer to resulting window",
"func":1
},
{
"ref":"ida_kernwin.open_selectors_window",
"url":17,
"doc":"open_selectors_window() -> TWidget  Open the selectors window (ui_open_builtin). @return: pointer to resulting window",
"func":1
},
{
"ref":"ida_kernwin.open_signatures_window",
"url":17,
"doc":"open_signatures_window() -> TWidget  Open the signatures window (ui_open_builtin). @return: pointer to resulting window",
"func":1
},
{
"ref":"ida_kernwin.open_tils_window",
"url":17,
"doc":"open_tils_window() -> TWidget  Open the type libraries window (ui_open_builtin). @return: pointer to resulting window",
"func":1
},
{
"ref":"ida_kernwin.open_loctypes_window",
"url":17,
"doc":"open_loctypes_window(ordinal, cursor=None) -> TWidget Open the local types window (ui_open_builtin). @param ordinal: (C : int) ordinal of type to select by default @param cursor: (C : const tif_cursor_t  ) cursor to the type member @return: pointer to resulting window",
"func":1
},
{
"ref":"ida_kernwin.open_calls_window",
"url":17,
"doc":"open_calls_window(ea) -> TWidget  Open the function calls window (ui_open_builtin). @param ea: (C : ea_t) @return: pointer to resulting window",
"func":1
},
{
"ref":"ida_kernwin.open_problems_window",
"url":17,
"doc":"open_problems_window(ea) -> TWidget  Open the problems window (ui_open_builtin). @param ea: (C : ea_t) index of entry to select by default @return: pointer to resulting window",
"func":1
},
{
"ref":"ida_kernwin.open_bpts_window",
"url":17,
"doc":"open_bpts_window(ea) -> TWidget  Open the breakpoints window (ui_open_builtin). @param ea: (C : ea_t) index of entry to select by default @return: pointer to resulting window",
"func":1
},
{
"ref":"ida_kernwin.open_threads_window",
"url":17,
"doc":"open_threads_window() -> TWidget  Open the threads window (ui_open_builtin). @return: pointer to resulting window",
"func":1
},
{
"ref":"ida_kernwin.open_modules_window",
"url":17,
"doc":"open_modules_window() -> TWidget  Open the modules window (ui_open_builtin). @return: pointer to resulting window",
"func":1
},
{
"ref":"ida_kernwin.open_trace_window",
"url":17,
"doc":"open_trace_window() -> TWidget  Open the tracing window (ui_open_builtin). @return: pointer to resulting window",
"func":1
},
{
"ref":"ida_kernwin.open_stack_window",
"url":17,
"doc":"open_stack_window() -> TWidget  Open the call stack window (ui_open_builtin). @return: pointer to resulting window",
"func":1
},
{
"ref":"ida_kernwin.open_xrefs_window",
"url":17,
"doc":"open_xrefs_window(ea) -> TWidget  Open the cross references window (ui_open_builtin). @param ea: (C : ea_t) index of entry to select by default @return: pointer to resulting window",
"func":1
},
{
"ref":"ida_kernwin.open_frame_window",
"url":17,
"doc":"open_frame_window(pfn, offset) -> TWidget  Open the frame window for the given function (ui_open_builtin). @param pfn: (C : func_t  ) function to analyze @param offset: (C : uval_t) offset where the cursor is placed @return: pointer to resulting window if 'pfn' is a valid function and the window was displayed, nullptr otherwise",
"func":1
},
{
"ref":"ida_kernwin.open_navband_window",
"url":17,
"doc":"open_navband_window(ea, zoom) -> TWidget  Open the navigation band window (ui_open_builtin). @param ea: (C : ea_t) sets the address of the navband arrow @param zoom: (C : int) sets the navband zoom level @return: pointer to resulting window",
"func":1
},
{
"ref":"ida_kernwin.open_disasm_window",
"url":17,
"doc":"open_disasm_window(window_title, ranges=None) -> TWidget Open a disassembly view (ui_open_builtin). @param window_title: (C : const char  ) title of view to open @param ranges: (C : const rangevec_t  ) if != nullptr, then display a flow chart with the specified ranges @return: pointer to resulting window",
"func":1
},
{
"ref":"ida_kernwin.open_hexdump_window",
"url":17,
"doc":"open_hexdump_window(window_title) -> TWidget  Open a hexdump view (ui_open_builtin). @param window_title: (C : const char  ) title of view to open @return: pointer to resulting window",
"func":1
},
{
"ref":"ida_kernwin.open_notepad_window",
"url":17,
"doc":"open_notepad_window() -> TWidget  Open the notepad window (ui_open_builtin). @return: pointer to resulting window",
"func":1
},
{
"ref":"ida_kernwin.open_bookmarks_window",
"url":17,
"doc":"open_bookmarks_window(w) -> TWidget  Open the bookmarks window (ui_open_builtin). @param w: (C : TWidget  ) The widget for which the bookmarks will open. For example, this can be an IDAView, or Enums view, etc. @return: pointer to resulting window",
"func":1
},
{
"ref":"ida_kernwin.sync_sources",
"url":17,
"doc":"sync_sources(what, _with, sync) -> bool [Un]synchronize sources @param what: (C : const sync_source_t &) @param with: (C : const sync_source_t &) @param sync: (C : bool) @return: success",
"func":1
},
{
"ref":"ida_kernwin.choose_til",
"url":17,
"doc":"choose_til() -> str Choose a type library (ui_choose, chtype_idatil). @retval true: 'buf' was filled with the name of the selected til @retval false: otherwise",
"func":1
},
{
"ref":"ida_kernwin.choose_entry",
"url":17,
"doc":"choose_entry(title) -> ea_t Choose an entry point (ui_choose, chtype_entry). @param title: (C : const char  ) chooser title @return: ea of selected entry point, BADADDR if none selected",
"func":1
},
{
"ref":"ida_kernwin.choose_name",
"url":17,
"doc":"choose_name(title) -> ea_t Choose a name (ui_choose, chtype_name). @param title: (C : const char  ) chooser title @return: ea of selected name, BADADDR if none selected",
"func":1
},
{
"ref":"ida_kernwin.choose_stkvar_xref",
"url":17,
"doc":"choose_stkvar_xref(pfn, srkvar_tid) -> ea_t Choose an xref to a stack variable (ui_choose, chtype_name). @param pfn: (C : func_t  ) function @param srkvar_tid: (C : tid_t) frame variable TID @return: ea of the selected xref, BADADDR if none selected",
"func":1
},
{
"ref":"ida_kernwin.choose_xref",
"url":17,
"doc":"choose_xref(to) -> ea_t Choose an xref to an address (ui_choose, chtype_xref). @param to: (C : ea_t) referenced address @return: ea of selected xref, BADADDR if none selected",
"func":1
},
{
"ref":"ida_kernwin.choose_enum",
"url":17,
"doc":"choose_enum(out, title, default_ord) -> bool Choose an enum (ui_choose, chtype_enum). @param out: (C : tinfo_t  ) the selected enum type @param title: (C : const char  ) chooser title @param default_ord: (C : uint32) ordinal of enum to select by default @retval true: the selected type is in OUT @retval false: nothing was selected",
"func":1
},
{
"ref":"ida_kernwin.choose_enum_by_value",
"url":17,
"doc":"choose_enum_by_value(out, title, default_ord, value, nbytes) -> bool Choose an enum, restricted by value & size (ui_choose, chtype_enum_by_value_and_size). If the given value cannot be found initially, this function will ask if the user would like to import a standard enum. @param out: (C : tinfo_t  ) the selected enum type @param title: (C : const char  ) chooser title @param default_ord: (C : uint32) ordinal of enum to select by default @param value: (C : uint64) value to search for @param nbytes: (C : int) size of value @retval true: the selected type is in OUT @retval false: nothing was selected",
"func":1
},
{
"ref":"ida_kernwin.choose_func",
"url":17,
"doc":"choose_func(title, default_ea) -> func_t  Choose a function (ui_choose, chtype_func). @param title: (C : const char  ) chooser title @param default_ea: (C : ea_t) ea of function to select by default @return: pointer to function that was selected, nullptr if none selected",
"func":1
},
{
"ref":"ida_kernwin.choose_segm",
"url":17,
"doc":"choose_segm(title, default_ea) -> segment_t  Choose a segment (ui_choose, chtype_segm). @param title: (C : const char  ) chooser title @param default_ea: (C : ea_t) ea of segment to select by default @return: pointer to segment that was selected, nullptr if none selected",
"func":1
},
{
"ref":"ida_kernwin.choose_struct",
"url":17,
"doc":"choose_struct(out, title) -> bool Choose a structure (ui_choose, chtype_struct). @param out: (C : tinfo_t  ) the selected structure type @param title: (C : const char  ) chooser title @retval true: the selected type is in OUT @retval false: nothing was selected",
"func":1
},
{
"ref":"ida_kernwin.choose_srcp",
"url":17,
"doc":"choose_srcp(title) -> sreg_range_t  Choose a segment register change point (ui_choose, chtype_srcp). @param title: (C : const char  ) chooser title @return: pointer to segment register range of selected change point, nullptr if none selected",
"func":1
},
{
"ref":"ida_kernwin.get_chooser_obj",
"url":17,
"doc":"get_chooser_obj(chooser_caption) -> void  Get the underlying object of the specified chooser (ui_get_chooser_obj). This attemps to find the choser by its title and, if found, returns the result of calling its chooser_base_t get_chooser_obj() method. @note: This is object is chooser-specific. @param chooser_caption: (C : const char  ) char const  @return: the object that was used to create the chooser",
"func":1
},
{
"ref":"ida_kernwin.get_chooser_rows",
"url":17,
"doc":"get_chooser_rows(out, chooser_caption, what) -> bool Get the chooser contents corresponding to the rows indicated by \"what\". @param out: (C : chooser_row_info_vec_t  ) A vector of chooser_row_info_t, one entry per returned row. @param chooser_caption: (C : const char  ) The caption that identifies the desired chooser. @param what: (C : size_t) Either one of the GCRF_ flags, or a row index. @return: Success.",
"func":1
},
{
"ref":"ida_kernwin.enable_chooser_item_attrs",
"url":17,
"doc":"enable_chooser_item_attrs(chooser_caption, enable) -> bool Enable item-specific attributes for chooser items (ui_enable_chooser_item_attrs). For example: color list items differently depending on a criterium. If enabled, the chooser will generate ui_get_chooser_item_attrs events that can be intercepted by a plugin to modify the item attributes. This event is generated only in the GUI version of IDA. Specifying CH_ATTRS bit at the chooser creation time has the same effect. @param chooser_caption: (C : const char  ) char const  @param enable: (C : bool) @return: success",
"func":1
},
{
"ref":"ida_kernwin.replace_wait_box",
"url":17,
"doc":"replace_wait_box(format) Replace the label of \"Please wait dialog box\". @param format: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_kernwin.beep",
"url":17,
"doc":"beep(beep_type=beep_default) Issue a beeping sound (ui_beep). @param beep_type: (C : beep_t)",
"func":1
},
{
"ref":"ida_kernwin.display_copyright_warning",
"url":17,
"doc":"display_copyright_warning() -> bool Display copyright warning (ui_copywarn). @return: yes/no",
"func":1
},
{
"ref":"ida_kernwin.ask_for_feedback",
"url":17,
"doc":"ask_for_feedback(format) Show a message box asking to send the input file to \\link{mailto:support@hex- rays.com,support@hex-rays.com}. @param format: (C : const char  ) the reason why the input file is bad",
"func":1
},
{
"ref":"ida_kernwin.error",
"url":17,
"doc":"error(format) Display a fatal message in a message box and quit IDA @param format: message to print",
"func":1
},
{
"ref":"ida_kernwin.warning",
"url":17,
"doc":"warning(format) -> ssize_t Display a message in a message box @param format: message to print (formatting is done in Python) This function can be used to debug IDAPython scripts The user will be able to hide messages if they appear twice in a row on the screen",
"func":1
},
{
"ref":"ida_kernwin.info",
"url":17,
"doc":"info(format) -> ssize_t @param format: char const  ",
"func":1
},
{
"ref":"ida_kernwin.nomem",
"url":17,
"doc":"nomem(format) @param format: char const  ",
"func":1
},
{
"ref":"ida_kernwin.ASKBTN_YES",
"url":17,
"doc":"Yes button."
},
{
"ref":"ida_kernwin.ASKBTN_NO",
"url":17,
"doc":"No button."
},
{
"ref":"ida_kernwin.ASKBTN_CANCEL",
"url":17,
"doc":"Cancel button."
},
{
"ref":"ida_kernwin.ASKBTN_BTN1",
"url":17,
"doc":"First (Yes) button."
},
{
"ref":"ida_kernwin.ASKBTN_BTN2",
"url":17,
"doc":"Second (No) button."
},
{
"ref":"ida_kernwin.ASKBTN_BTN3",
"url":17,
"doc":"Third (Cancel) button."
},
{
"ref":"ida_kernwin.ask_yn",
"url":17,
"doc":"ask_yn(deflt, format) -> int Display a dialog box and get choice from \"Yes\", \"No\", \"Cancel\". @param deflt: (C : int) default choice: one of Button IDs @param format: (C : const char  ) The question in printf() style format @return: the selected button (one of Button IDs). Esc key returns ASKBTN_CANCEL.",
"func":1
},
{
"ref":"ida_kernwin.ask_buttons",
"url":17,
"doc":"ask_buttons(Yes, No, Cancel, deflt, format) -> int Display a dialog box and get choice from maximum three possibilities (ui_ask_buttons). @note: for all buttons:  use  or nullptr to take the default name for the button.  prepend \"HIDECANCEL\\n\" in 'format' to hide the Cancel button @param Yes: (C : const char  ) text for the first button @param No: (C : const char  ) text for the second button @param Cancel: (C : const char  ) text for the third button @param deflt: (C : int) default choice: one of Button IDs @param format: (C : const char  ) printf-style format string for question. It may have some prefixes, see below. @return: one of Button IDs specifying the selected button (Esc key returns Cancel/3rd button value)",
"func":1
},
{
"ref":"ida_kernwin.HIST_SEG",
"url":17,
"doc":"segment names"
},
{
"ref":"ida_kernwin.HIST_CMT",
"url":17,
"doc":"comments"
},
{
"ref":"ida_kernwin.HIST_SRCH",
"url":17,
"doc":"search substrings"
},
{
"ref":"ida_kernwin.HIST_IDENT",
"url":17,
"doc":"identifiers. usually CPU register names are forbidden"
},
{
"ref":"ida_kernwin.HIST_FILE",
"url":17,
"doc":"file names"
},
{
"ref":"ida_kernwin.HIST_TYPE",
"url":17,
"doc":"type declarations"
},
{
"ref":"ida_kernwin.HIST_CMD",
"url":17,
"doc":"commands"
},
{
"ref":"ida_kernwin.HIST_DIR",
"url":17,
"doc":"directory names (text version only)"
},
{
"ref":"ida_kernwin.HIST_IDENT2",
"url":17,
"doc":"identifiers, including CPU register names"
},
{
"ref":"ida_kernwin.ask_ident2",
"url":17,
"doc":"ask_ident2(str, format) -> bool Display a dialog box and wait for the user to input an identifier. If the user enters a non-valid identifier, this function displays a warning and allows the user to correct it. CPU register names are permitted. @param str: (C : qstring  ) qstring to fill. Can contain the default value. Cannot be nullptr. @param format: (C : const char  ) printf() style format string with the question @return: false if the user cancelled the dialog, otherwise returns true.",
"func":1
},
{
"ref":"ida_kernwin.ask_file",
"url":17,
"doc":"ask_file(for_saving, defval, format) -> char  @param for_saving: bool @param defval: char const  @param format: char const  ",
"func":1
},
{
"ref":"ida_kernwin.addon_info_t",
"url":17,
"doc":"Proxy of C addon_info_t class. __init__(self) -> addon_info_t"
},
{
"ref":"ida_kernwin.addon_info_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.addon_info_t.cb",
"url":17,
"doc":"cb"
},
{
"ref":"ida_kernwin.addon_info_t.id",
"url":17,
"doc":"id"
},
{
"ref":"ida_kernwin.addon_info_t.name",
"url":17,
"doc":"name"
},
{
"ref":"ida_kernwin.addon_info_t.producer",
"url":17,
"doc":"producer"
},
{
"ref":"ida_kernwin.addon_info_t.version",
"url":17,
"doc":"version"
},
{
"ref":"ida_kernwin.addon_info_t.url",
"url":17,
"doc":"url"
},
{
"ref":"ida_kernwin.addon_info_t.freeform",
"url":17,
"doc":"freeform"
},
{
"ref":"ida_kernwin.addon_info_t.custom_data",
"url":17,
"doc":"custom_data"
},
{
"ref":"ida_kernwin.addon_info_t.custom_size",
"url":17,
"doc":"custom_size"
},
{
"ref":"ida_kernwin.register_addon",
"url":17,
"doc":"register_addon(info) -> int Register an add-on. Show its info in the About box. For plugins, should be called from init() function (repeated calls with the same product code overwrite previous entries) returns: index of the add-on in the list, or -1 on error @param info: (C : const addon_info_t  ) addon_info_t const  ",
"func":1
},
{
"ref":"ida_kernwin.addon_count",
"url":17,
"doc":"addon_count() -> int Get number of installed addons.",
"func":1
},
{
"ref":"ida_kernwin.get_addon_info",
"url":17,
"doc":"get_addon_info(id, info) -> bool Get info about a registered addon with a given product code. info->cb must be valid! NB: all pointers are invalidated by next call to register_addon or get_addon_info @param id: (C : const char  ) char const  @param info: (C : addon_info_t  ) @return: false if not found",
"func":1
},
{
"ref":"ida_kernwin.get_addon_info_idx",
"url":17,
"doc":"get_addon_info_idx(index, info) -> bool Get info about a registered addon with specific index. info->cb must be valid! NB: all pointers are invalidated by next call to register_addon or get_addon_info @param index: (C : int) @param info: (C : addon_info_t  ) @return: false if index is out of range",
"func":1
},
{
"ref":"ida_kernwin.strarray_t",
"url":17,
"doc":"Proxy of C strarray_t class. __init__(self) -> strarray_t"
},
{
"ref":"ida_kernwin.strarray_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.strarray_t.code",
"url":17,
"doc":"code"
},
{
"ref":"ida_kernwin.strarray_t.text",
"url":17,
"doc":"text"
},
{
"ref":"ida_kernwin.CLNL_RTRIM",
"url":17,
"doc":"Remove trailing space characters."
},
{
"ref":"ida_kernwin.CLNL_LTRIM",
"url":17,
"doc":"Remove leading space characters."
},
{
"ref":"ida_kernwin.CLNL_FINDCMT",
"url":17,
"doc":"Search for the comment symbol everywhere in the line, not only at the beginning."
},
{
"ref":"ida_kernwin.qcleanline",
"url":17,
"doc":"qcleanline(cmt_char='\\0', flags= 1  0)|(1  1 |(1  2 -> ssize_t Performs some cleanup operations to a line. @param cmt_char: (C : char) character that denotes the start of a comment:  the entire text is removed if the line begins with this character (ignoring leading spaces)  all text after (and including) this character is removed if flag CLNL_FINDCMT is set @param flags: (C : uint32) a combination of line cleanup flags. defaults to CLNL_TRIM @return: length of line",
"func":1
},
{
"ref":"ida_kernwin.strarray",
"url":17,
"doc":"strarray(array, array_size, code) -> char const  Find a line with the specified code in the strarray_t array. If the last element of the array has code 0 then it is considered as the default entry. If no default entry exists and the code is not found, strarray() returns  . @param array: (C : const strarray_t  ) strarray_t const  @param array_size: (C : size_t) @param code: (C : int)",
"func":1
},
{
"ref":"ida_kernwin.ea2str",
"url":17,
"doc":"ea2str(ea) -> str Convert linear address to UTF-8 string. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_kernwin.str2ea",
"url":17,
"doc":"str2ea(str, screen_ea=BADADDR) -> bool Convert string to linear address. Tries to interpret the string as: 1) \"current IP\" keyword if supported by assembler (e.g. \"$\" in x86) 2) segment:offset expression, where \"segment\" may be a name or a fixed segment register (e.g. cs, ds) 3) just segment name/register (translated to segment's start address) 4) a name in the database (or debug name during debugging) 5) hexadecimal value without prefix or suffix 6) +delta or -delta, where numerical 'delta' is added to or subtracted from 'screen_ea' 7) register name (only during debugging) 8) if all else fails, try to evaluate 'str' as an IDC expression @param str: (C : const char  ) string to parse @param screen_ea: (C : ea_t) the current address in the disassembly/pseudocode view @return: success",
"func":1
},
{
"ref":"ida_kernwin.str2ea_ex",
"url":17,
"doc":"str2ea_ex(str, screen_ea=BADADDR, flags=0) -> bool Same as str2ea() but possibly with some steps skipped. @param str: (C : const char  ) string to parse @param screen_ea: (C : ea_t) the current address in the disassembly/pseudocode view @param flags: (C : int) see String to address conversion flags @return: success",
"func":1
},
{
"ref":"ida_kernwin.S2EAOPT_NOCALC",
"url":17,
"doc":"don't try to interpret string as IDC (or current extlang) expression"
},
{
"ref":"ida_kernwin.atoea",
"url":17,
"doc":"atoea(str) -> bool Convert a number in C notation to an address. decimal: 1234 octal: 0123 hexadecimal: 0xabcd binary: 0b00101010 @param str: (C : const char  ) the string to parse",
"func":1
},
{
"ref":"ida_kernwin.get_user_strlist_options",
"url":17,
"doc":"get_user_strlist_options(out) @param out: strwinsetup_t  ",
"func":1
},
{
"ref":"ida_kernwin.del_idc_hotkey",
"url":17,
"doc":"del_idc_hotkey(hotkey) -> bool @param hotkey: char const  ",
"func":1
},
{
"ref":"ida_kernwin.disasm_text_t",
"url":17,
"doc":"Proxy of C qvector class. __init__(self) -> disasm_text_t __init__(self, x) -> disasm_text_t @param x: qvector const &"
},
{
"ref":"ida_kernwin.disasm_text_t.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.disasm_text_t.push_back",
"url":17,
"doc":"push_back(self, x) @param x: disasm_line_t const & push_back(self) -> disasm_line_t",
"func":1
},
{
"ref":"ida_kernwin.disasm_text_t.pop_back",
"url":17,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_kernwin.disasm_text_t.size",
"url":17,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_kernwin.disasm_text_t.empty",
"url":17,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.disasm_text_t.at",
"url":17,
"doc":"at(self, _idx) -> disasm_line_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_kernwin.disasm_text_t.qclear",
"url":17,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_kernwin.disasm_text_t.clear",
"url":17,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_kernwin.disasm_text_t.resize",
"url":17,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: disasm_line_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_kernwin.disasm_text_t.grow",
"url":17,
"doc":"grow(self, x=disasm_line_t( @param x: disasm_line_t const &",
"func":1
},
{
"ref":"ida_kernwin.disasm_text_t.capacity",
"url":17,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_kernwin.disasm_text_t.reserve",
"url":17,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_kernwin.disasm_text_t.truncate",
"url":17,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_kernwin.disasm_text_t.swap",
"url":17,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_kernwin.disasm_text_t.extract",
"url":17,
"doc":"extract(self) -> disasm_line_t",
"func":1
},
{
"ref":"ida_kernwin.disasm_text_t.inject",
"url":17,
"doc":"inject(self, s, len) @param s: disasm_line_t  @param len: size_t",
"func":1
},
{
"ref":"ida_kernwin.disasm_text_t.begin",
"url":17,
"doc":"begin(self) -> disasm_line_t",
"func":1
},
{
"ref":"ida_kernwin.disasm_text_t.end",
"url":17,
"doc":"end(self) -> disasm_line_t",
"func":1
},
{
"ref":"ida_kernwin.disasm_text_t.insert",
"url":17,
"doc":"insert(self, it, x) -> disasm_line_t @param it: qvector  iterator @param x: disasm_line_t const &",
"func":1
},
{
"ref":"ida_kernwin.disasm_text_t.erase",
"url":17,
"doc":"erase(self, it) -> disasm_line_t @param it: qvector  iterator erase(self, first, last) -> disasm_line_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_kernwin.disasm_text_t.front",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.disasm_text_t.back",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.load_custom_icon",
"url":17,
"doc":"Loads a custom icon and returns an identifier that can be used with other APIs If file_name is passed then the other two arguments are ignored. Load an icon and return its id (ui_load_custom_icon). @return: icon id",
"func":1
},
{
"ref":"ida_kernwin.ask_long",
"url":17,
"doc":"Display a dialog box and wait for the user to input an number (ui_ask_long). The number is represented in C-style. This function allows to enter any IDC expression and properly calculates it. @retval 0: if the user pressed Esc. @retval 1: ok, the user entered a valid number.",
"func":1
},
{
"ref":"ida_kernwin.ask_addr",
"url":17,
"doc":"Output a formatted string to the output window (msg) preprended with \" DATABASE IS CORRUPTED: \" Display a dialog box and wait for the user to input an address (ui_ask_addr). @retval 0: the user pressed Esc. @retval 1: ok, the user entered an address",
"func":1
},
{
"ref":"ida_kernwin.ask_seg",
"url":17,
"doc":"Display a dialog box and wait for the user to input an segment name (ui_ask_seg). This function allows to enter segment register names, segment base paragraphs, segment names to denote a segment. @retval 0: if the user pressed Esc. @retval 1: ok, the user entered an segment name",
"func":1
},
{
"ref":"ida_kernwin.ask_ident",
"url":17,
"doc":"Display a dialog box and wait for the user to input an identifier. If the user enters a non-valid identifier, this function displays a warning and allows the user to correct it. CPU register names are usually forbidden. @return: false if the user cancelled the dialog, otherwise returns true.",
"func":1
},
{
"ref":"ida_kernwin.action_handler_t",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.action_handler_t.activate",
"url":17,
"doc":"Activate an action. This function implements the core behavior of an action. It is called when the action is triggered, from a menu, from a popup menu, from the toolbar, or programmatically. @return: non-zero: all IDA windows will be refreshed",
"func":1
},
{
"ref":"ida_kernwin.action_handler_t.update",
"url":17,
"doc":"Update an action. This is called when the context of the UI changed, and we need to let the action update some of its properties if needed (label, icon,  .) In addition, this lets IDA know whether the action is enabled, and when it should be queried for availability again. Note: This callback is not meant to change anything in the application's state, except by calling one (or many) of the \"update_action_ ()\" functions on this very action.",
"func":1
},
{
"ref":"ida_kernwin.quick_widget_commands_t",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.quick_widget_commands_t.add",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.quick_widget_commands_t.populate_popup",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.disabled_script_timeout_t",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.choose_find",
"url":17,
"doc":"choose_find(title) -> MyChoose or None @param title: char const  ",
"func":1
},
{
"ref":"ida_kernwin.choose_refresh",
"url":17,
"doc":"choose_refresh(_self) @param self: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.choose_close",
"url":17,
"doc":"choose_close(_self) @param self: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.choose_get_widget",
"url":17,
"doc":"choose_get_widget(_self) -> TWidget  @param self: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.choose_choose",
"url":17,
"doc":"choose_choose(_self) -> PyObject  @param self: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.choose_activate",
"url":17,
"doc":"choose_activate(_self) @param self: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.choose_create_embedded_chobj",
"url":17,
"doc":"choose_create_embedded_chobj(_self) -> PyObject  @param self: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.get_chooser_data",
"url":17,
"doc":"get_chooser_data(chooser_caption, n) -> [str,  .] Get the text corresponding to the index N in the chooser data. Use -1 to get the header. See also get_chooser_rows(). @param chooser_caption: (C : const char  ) char const  @param n: (C : int)",
"func":1
},
{
"ref":"ida_kernwin.Choose",
"url":17,
"doc":"Chooser wrapper class. Some constants are defined in this class. Please refer to kernwin.hpp for more information. Constructs a chooser window. @param title: The chooser title @param cols: a list of colums; each list item is a list of two items example: [ [\"Address\", 10 | Choose.CHCOL_HEX], [\"Name\", 30 | Choose.CHCOL_PLAIN] ] @param flags: One of CH_XXXX constants @param flags2: One of CH2_XXXX constants @param deflt: The index of the default item (0-based) for single selection choosers or the list of indexes for multi selection chooser @param popup_names: List of new captions to replace this list [\"Insert\", \"Delete\", \"Edit\", \"Refresh\"] @param icon: Icon index (the icon should exist in ida resources or an index to a custom loaded icon) @param x1: , y1, x2, y2: The default location (for txt-version) @param embedded: Create as embedded chooser @param width: Embedded chooser width @param height: Embedded chooser height @param forbidden_cb: Explicitly forbidden callbacks"
},
{
"ref":"ida_kernwin.Choose.CH_MODAL",
"url":17,
"doc":"Modal chooser"
},
{
"ref":"ida_kernwin.Choose.CH_MULTI",
"url":17,
"doc":"Allow multi selection. Refer the description of the OnInsertLine(), OnDeleteLine(), OnEditLine(), OnSelectLine(), OnRefresh(), OnSelectionChange() to see a difference between single and multi selection callbacks."
},
{
"ref":"ida_kernwin.Choose.CH_NOBTNS",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Choose.CH_ATTRS",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Choose.CH_NOIDB",
"url":17,
"doc":"use the chooser even without an open database, same as x0=-2"
},
{
"ref":"ida_kernwin.Choose.CH_FORCE_DEFAULT",
"url":17,
"doc":"If a non-modal chooser was already open, change selection to the given default one"
},
{
"ref":"ida_kernwin.Choose.CH_CAN_INS",
"url":17,
"doc":"allow to insert new items"
},
{
"ref":"ida_kernwin.Choose.CH_CAN_DEL",
"url":17,
"doc":"allow to delete existing item(s)"
},
{
"ref":"ida_kernwin.Choose.CH_CAN_EDIT",
"url":17,
"doc":"allow to edit existing item(s)"
},
{
"ref":"ida_kernwin.Choose.CH_CAN_REFRESH",
"url":17,
"doc":"allow to refresh chooser"
},
{
"ref":"ida_kernwin.Choose.CH_QFLT",
"url":17,
"doc":"open with quick filter enabled and focused"
},
{
"ref":"ida_kernwin.Choose.CH_QFTYP_SHIFT",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Choose.CH_QFTYP_DEFAULT",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Choose.CH_QFTYP_NORMAL",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Choose.CH_QFTYP_WHOLE_WORDS",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Choose.CH_QFTYP_REGEX",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Choose.CH_QFTYP_FUZZY",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Choose.CH_QFTYP_MASK",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Choose.CH_NO_STATUS_BAR",
"url":17,
"doc":"don't show a status bar"
},
{
"ref":"ida_kernwin.Choose.CH_RESTORE",
"url":17,
"doc":"restore floating position if present (equivalent of WOPN_RESTORE) (GUI version only)"
},
{
"ref":"ida_kernwin.Choose.CH_RENAME_IS_EDIT",
"url":17,
"doc":"triggering a 'edit/rename' (i.e., F2 shortcut) on a cell, should call the edit() callback for the corresponding row."
},
{
"ref":"ida_kernwin.Choose.CH_BUILTIN_SHIFT",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Choose.CH_BUILTIN_MASK",
"url":17,
"doc":"The chooser can provide a dirtree_t, meaning a tree-like structure can be provided to the user (instead of a flat table)"
},
{
"ref":"ida_kernwin.Choose.CH_HAS_DIRTREE",
"url":17,
"doc":"The chooser can be used in a diffing/merging workflow"
},
{
"ref":"ida_kernwin.Choose.CH_HAS_DIFF",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Choose.CHCOL_PLAIN",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Choose.CHCOL_PATH",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Choose.CHCOL_HEX",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Choose.CHCOL_DEC",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Choose.CHCOL_EA",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Choose.CHCOL_FNAME",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Choose.CHCOL_FORMAT",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Choose.CHCOL_DEFHIDDEN",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Choose.CHCOL_DRAGHINT",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Choose.CHCOL_INODENAME",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Choose.NO_SELECTION",
"url":17,
"doc":"there is no selected item"
},
{
"ref":"ida_kernwin.Choose.EMPTY_CHOOSER",
"url":17,
"doc":"the chooser is initialized"
},
{
"ref":"ida_kernwin.Choose.ALREADY_EXISTS",
"url":17,
"doc":"the non-modal chooser with the same data is already open"
},
{
"ref":"ida_kernwin.Choose.NO_ATTR",
"url":17,
"doc":"some mandatory attribute is missing"
},
{
"ref":"ida_kernwin.Choose.NOTHING_CHANGED",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Choose.ALL_CHANGED",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Choose.SELECTION_CHANGED",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Choose.UI_Hooks_Trampoline",
"url":17,
"doc":"Proxy of C UI_Hooks class."
},
{
"ref":"ida_kernwin.Choose.Embedded",
"url":17,
"doc":"Creates an embedded chooser (as opposed to Show( @return: Returns 0 on success or NO_ATTR",
"func":1
},
{
"ref":"ida_kernwin.Choose.GetEmbSelection",
"url":17,
"doc":"Deprecated. For embedded choosers, the selection is available through 'Form.EmbeddedChooserControl.selection'",
"func":1
},
{
"ref":"ida_kernwin.Choose.Show",
"url":17,
"doc":"Activates or creates a chooser window @param modal: Display as modal dialog @return: For all choosers it will return NO_ATTR if some mandatory attribute is missing. The mandatory attributes are: flags, title, cols, OnGetSize(), OnGetLine(); For modal choosers it will return the selected item index (0-based), or NO_SELECTION if no selection, or EMPTY_CHOOSER if the OnRefresh() callback returns EMPTY_CHOOSER; For non-modal choosers it will return 0 or ALREADY_EXISTS if the chooser was already open and is active now;",
"func":1
},
{
"ref":"ida_kernwin.Choose.Activate",
"url":17,
"doc":"Activates a visible chooser",
"func":1
},
{
"ref":"ida_kernwin.Choose.Refresh",
"url":17,
"doc":"Causes the refresh callback to trigger",
"func":1
},
{
"ref":"ida_kernwin.Choose.Close",
"url":17,
"doc":"Closes the chooser",
"func":1
},
{
"ref":"ida_kernwin.Choose.GetWidget",
"url":17,
"doc":"Return the TWidget underlying this view. @return: The TWidget underlying this view, or None.",
"func":1
},
{
"ref":"ida_kernwin.Choose.adjust_last_item",
"url":17,
"doc":"Helper for OnDeleteLine() and OnRefresh() callbacks. They can be finished by the following line: return [Choose.ALL_CHANGED] + self.adjust_last_item(n) @param line: number of the remaining select item @return: list of selected lines numbers (one element or empty)",
"func":1
},
{
"ref":"ida_kernwin.Choose.AddCommand",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.Choose.OnPopup",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.Choose.OnInit",
"url":17,
"doc":"Initialize the chooser and populate it. This callback is optional",
"func":1
},
{
"ref":"ida_kernwin.Choose.OnGetSize",
"url":17,
"doc":"Get the number of elements in the chooser. This callback is mandatory @return: the number of elements",
"func":1
},
{
"ref":"ida_kernwin.Choose.OnGetLine",
"url":17,
"doc":"Get data for an element This callback is mandatory @param n: the index to fetch data for @return: a list of strings",
"func":1
},
{
"ref":"ida_kernwin.Choose.OnGetIcon",
"url":17,
"doc":"Get an icon to associate with the first cell of an element @param n: index of the element @return: an icon ID",
"func":1
},
{
"ref":"ida_kernwin.Choose.OnGetLineAttr",
"url":17,
"doc":"Get attributes for an element @param n: index of the element @return: a tuple (color, flags)",
"func":1
},
{
"ref":"ida_kernwin.Choose.OnInsertLine",
"url":17,
"doc":"User asked to insert an element @param sel: the current selection @return: a tuple (changed, selection)",
"func":1
},
{
"ref":"ida_kernwin.Choose.OnDeleteLine",
"url":17,
"doc":"User deleted an element @param sel: the current selection @return: a tuple (changed, selection)",
"func":1
},
{
"ref":"ida_kernwin.Choose.OnEditLine",
"url":17,
"doc":"User asked to edit an element. @param sel: the current selection @return: a tuple (changed, selection)",
"func":1
},
{
"ref":"ida_kernwin.Choose.OnSelectLine",
"url":17,
"doc":"User pressed the enter key, or double-clicked a selection @param sel: the current selection @return: a tuple (changed, selection)",
"func":1
},
{
"ref":"ida_kernwin.Choose.OnSelectionChange",
"url":17,
"doc":"Selection changed @param sel: the new selection",
"func":1
},
{
"ref":"ida_kernwin.Choose.OnRefresh",
"url":17,
"doc":"The chooser needs to be refreshed. It returns the new positions of the selected items. @param sel: the current selection @return: a tuple (changed, selection)",
"func":1
},
{
"ref":"ida_kernwin.Choose.OnClose",
"url":17,
"doc":"The chooser window is closed.",
"func":1
},
{
"ref":"ida_kernwin.Choose.OnGetEA",
"url":17,
"doc":"Get the address of an element When this function returns valid addresses:  If any column has the  CHCOL_FNAME flag, rows will be colored according to the attributes of the functions who own those addresses (extern, library function, Lumina,  . - similar to what the \"Functions\" widget does)  When a selection is present and the user presses    (   if the chooser is modal), IDA will jump to that address (through jumpto( @param n: element number (0-based) @return: the effective address, ida_idaapi.BADADDR if the element has no address",
"func":1
},
{
"ref":"ida_kernwin.Choose.OnGetDirTree",
"url":17,
"doc":"Get the dirtree_t that will be used to present a tree-like structure to the user (see CH_HAS_DIRTREE) @return: the dirtree_t, or None",
"func":1
},
{
"ref":"ida_kernwin.Choose.OnIndexToInode",
"url":17,
"doc":"Map an element index to a dirtree_t inode This callback is mandatory if CH_HAS_DIRTREE is specified @param n: index of the element @return: the inode number",
"func":1
},
{
"ref":"ida_kernwin.Choose.OnIndexToDiffpos",
"url":17,
"doc":"Map an element index to a diffpos_t This callback is mandatory if CH_HAS_DIFF is specified @param n: index of the element @return: the diffpos",
"func":1
},
{
"ref":"ida_kernwin.Choose.OnLazyLoadDir",
"url":17,
"doc":"Callback for lazy-loaded, dirtree-based choosers; the function will be called when a folder is expanded and it has not been loaded before. The implementation should use the given dirtree's link() or mkdir() methods to add the folder contents. @param path: an absolute dirtree path to the directory that is being expanded @return: success",
"func":1
},
{
"ref":"ida_kernwin.textctrl_info_t_assign",
"url":17,
"doc":"textctrl_info_t_assign(_self, other) -> bool @param self: PyObject  @param other: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.textctrl_info_t_set_text",
"url":17,
"doc":"textctrl_info_t_set_text(_self, s) -> bool @param self: PyObject  @param s: char const  ",
"func":1
},
{
"ref":"ida_kernwin.textctrl_info_t_get_text",
"url":17,
"doc":"textctrl_info_t_get_text(_self) -> char const  @param self: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.textctrl_info_t_set_flags",
"url":17,
"doc":"textctrl_info_t_set_flags(_self, flags) -> bool @param self: PyObject  @param flags: unsigned int",
"func":1
},
{
"ref":"ida_kernwin.textctrl_info_t_get_flags",
"url":17,
"doc":"textctrl_info_t_get_flags(_self) -> unsigned int @param self: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.textctrl_info_t_set_tabsize",
"url":17,
"doc":"textctrl_info_t_set_tabsize(_self, tabsize) -> bool @param self: PyObject  @param tabsize: unsigned int",
"func":1
},
{
"ref":"ida_kernwin.textctrl_info_t_get_tabsize",
"url":17,
"doc":"textctrl_info_t_get_tabsize(_self) -> unsigned int @param self: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.formchgcbfa_enable_field",
"url":17,
"doc":"formchgcbfa_enable_field(p_fa, fid, enable) -> bool @param p_fa: size_t @param fid: int @param enable: bool",
"func":1
},
{
"ref":"ida_kernwin.formchgcbfa_show_field",
"url":17,
"doc":"formchgcbfa_show_field(p_fa, fid, show) -> bool @param p_fa: size_t @param fid: int @param show: bool",
"func":1
},
{
"ref":"ida_kernwin.formchgcbfa_move_field",
"url":17,
"doc":"formchgcbfa_move_field(p_fa, fid, x, y, w, h) -> bool @param p_fa: size_t @param fid: int @param x: int @param y: int @param w: int @param h: int",
"func":1
},
{
"ref":"ida_kernwin.formchgcbfa_get_focused_field",
"url":17,
"doc":"formchgcbfa_get_focused_field(p_fa) -> int @param p_fa: size_t",
"func":1
},
{
"ref":"ida_kernwin.formchgcbfa_set_focused_field",
"url":17,
"doc":"formchgcbfa_set_focused_field(p_fa, fid) -> bool @param p_fa: size_t @param fid: int",
"func":1
},
{
"ref":"ida_kernwin.formchgcbfa_refresh_field",
"url":17,
"doc":"formchgcbfa_refresh_field(p_fa, fid) @param p_fa: size_t @param fid: int",
"func":1
},
{
"ref":"ida_kernwin.formchgcbfa_close",
"url":17,
"doc":"formchgcbfa_close(p_fa, close_normally) @param p_fa: size_t @param close_normally: int",
"func":1
},
{
"ref":"ida_kernwin.formchgcbfa_get_field_value",
"url":17,
"doc":"formchgcbfa_get_field_value(p_fa, fid, ft, sz) -> PyObject  @param p_fa: size_t @param fid: int @param ft: int @param sz: size_t",
"func":1
},
{
"ref":"ida_kernwin.formchgcbfa_set_field_value",
"url":17,
"doc":"formchgcbfa_set_field_value(p_fa, fid, ft, py_val) -> bool @param p_fa: size_t @param fid: int @param ft: int @param py_val: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.py_get_ask_form",
"url":17,
"doc":"py_get_ask_form() -> size_t",
"func":1
},
{
"ref":"ida_kernwin.py_get_open_form",
"url":17,
"doc":"py_get_open_form() -> size_t",
"func":1
},
{
"ref":"ida_kernwin.py_register_compiled_form",
"url":17,
"doc":"py_register_compiled_form(py_form) @param py_form: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.py_unregister_compiled_form",
"url":17,
"doc":"py_unregister_compiled_form(py_form) @param py_form: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.textctrl_info_t",
"url":17,
"doc":"Class representing textctrl_info_t"
},
{
"ref":"ida_kernwin.textctrl_info_t.TXTF_AUTOINDENT",
"url":17,
"doc":"Auto-indent on new line"
},
{
"ref":"ida_kernwin.textctrl_info_t.TXTF_ACCEPTTABS",
"url":17,
"doc":"Tab key inserts 'tabsize' spaces"
},
{
"ref":"ida_kernwin.textctrl_info_t.TXTF_READONLY",
"url":17,
"doc":"Text cannot be edited (but can be selected and copied)"
},
{
"ref":"ida_kernwin.textctrl_info_t.TXTF_SELECTED",
"url":17,
"doc":"Shows the field with its text selected"
},
{
"ref":"ida_kernwin.textctrl_info_t.TXTF_MODIFIED",
"url":17,
"doc":"Gets/sets the modified status"
},
{
"ref":"ida_kernwin.textctrl_info_t.TXTF_FIXEDFONT",
"url":17,
"doc":"The control uses IDA's fixed font"
},
{
"ref":"ida_kernwin.textctrl_info_t.assign",
"url":17,
"doc":"Copies the contents of 'other' to 'self'",
"func":1
},
{
"ref":"ida_kernwin.textctrl_info_t.value",
"url":17,
"doc":"Alias for the text property"
},
{
"ref":"ida_kernwin.textctrl_info_t.text",
"url":17,
"doc":"in, out: text control value"
},
{
"ref":"ida_kernwin.textctrl_info_t.flags",
"url":17,
"doc":"Text control property bits"
},
{
"ref":"ida_kernwin.textctrl_info_t.tabsize",
"url":17,
"doc":"how many spaces a single tab will indent"
},
{
"ref":"ida_kernwin.textctrl_info_t.copy",
"url":22,
"doc":"Returns a new copy of this class",
"func":1
},
{
"ref":"ida_kernwin.textctrl_info_t.clink",
"url":22,
"doc":"Returns the C link as a PyObject"
},
{
"ref":"ida_kernwin.textctrl_info_t.clink_ptr",
"url":22,
"doc":"Returns the C link pointer as a number"
},
{
"ref":"ida_kernwin.Form",
"url":17,
"doc":"Contruct a Form class. This class wraps around ask_form() or open_form() and provides an easier / alternative syntax for describing forms. The form control names are wrapped inside the opening and closing curly braces and the control themselves are defined and instantiated via various form controls (subclasses of Form). @param form: The form string @param controls: A dictionary containing the control name as a _key_ and control object as _value_"
},
{
"ref":"ida_kernwin.Form.FT_ASCII",
"url":17,
"doc":"Ascii string - char  "
},
{
"ref":"ida_kernwin.Form.FT_SEG",
"url":17,
"doc":"Segment - sel_t  "
},
{
"ref":"ida_kernwin.Form.FT_HEX",
"url":17,
"doc":"Hex number - uval_t  "
},
{
"ref":"ida_kernwin.Form.FT_SHEX",
"url":17,
"doc":"Signed hex number - sval_t  "
},
{
"ref":"ida_kernwin.Form.FT_COLOR",
"url":17,
"doc":"Color button - bgcolor_t  "
},
{
"ref":"ida_kernwin.Form.FT_ADDR",
"url":17,
"doc":"Address - ea_t  "
},
{
"ref":"ida_kernwin.Form.FT_UINT64",
"url":17,
"doc":"default base uint64 - uint64"
},
{
"ref":"ida_kernwin.Form.FT_INT64",
"url":17,
"doc":"default base int64 - int64"
},
{
"ref":"ida_kernwin.Form.FT_RAWHEX",
"url":17,
"doc":"Hex number, no 0x prefix - uval_t  "
},
{
"ref":"ida_kernwin.Form.FT_FILE",
"url":17,
"doc":"File browse - char  at least QMAXPATH"
},
{
"ref":"ida_kernwin.Form.FT_DEC",
"url":17,
"doc":"Decimal number - sval_t  "
},
{
"ref":"ida_kernwin.Form.FT_OCT",
"url":17,
"doc":"Octal number, C notation - sval_t  "
},
{
"ref":"ida_kernwin.Form.FT_BIN",
"url":17,
"doc":"Binary number, 0b prefix - sval_t  "
},
{
"ref":"ida_kernwin.Form.FT_CHAR",
"url":17,
"doc":"Char value  sval_t  "
},
{
"ref":"ida_kernwin.Form.FT_IDENT",
"url":17,
"doc":"Identifier - char  at least MAXNAMELEN"
},
{
"ref":"ida_kernwin.Form.FT_BUTTON",
"url":17,
"doc":"Button - def handler(code)"
},
{
"ref":"ida_kernwin.Form.FT_DIR",
"url":17,
"doc":"Path to directory - char  at least QMAXPATH"
},
{
"ref":"ida_kernwin.Form.FT_TYPE",
"url":17,
"doc":"Type declaration - char  at least MAXSTR"
},
{
"ref":"ida_kernwin.Form.FT_FORMCHG",
"url":17,
"doc":"Form change callback - formchgcb_t"
},
{
"ref":"ida_kernwin.Form.FT_ECHOOSER",
"url":17,
"doc":"Embedded chooser - idaapi.Choose"
},
{
"ref":"ida_kernwin.Form.FT_MULTI_LINE_TEXT",
"url":17,
"doc":"Multi text control - textctrl_info_t"
},
{
"ref":"ida_kernwin.Form.FT_DROPDOWN_LIST",
"url":17,
"doc":"Dropdown list control - Form.DropdownControl"
},
{
"ref":"ida_kernwin.Form.FT_HTML_LABEL",
"url":17,
"doc":"HTML label to display (only for GUI version, and for dynamic labels; no input)"
},
{
"ref":"ida_kernwin.Form.FT_CHKGRP",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Form.FT_CHKGRP2",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Form.FT_RADGRP",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Form.FT_RADGRP2",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Form.create_string_buffer",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.Form.fieldtype_to_ctype",
"url":17,
"doc":"Factory method returning a ctype class corresponding to the field type string",
"func":1
},
{
"ref":"ida_kernwin.Form.NumericArgument",
"url":17,
"doc":"Argument representing various integer arguments (ushort, uint32, uint64, etc .) @param tp: One of Form.FT_XXX"
},
{
"ref":"ida_kernwin.Form.StringArgument",
"url":17,
"doc":"Argument representing a character buffer"
},
{
"ref":"ida_kernwin.Form.Control",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.Form.LabelControl",
"url":17,
"doc":"Base class for static label control"
},
{
"ref":"ida_kernwin.Form.StringLabel",
"url":17,
"doc":"String label control"
},
{
"ref":"ida_kernwin.Form.NumericLabel",
"url":17,
"doc":"Numeric label control"
},
{
"ref":"ida_kernwin.Form.GroupItemControl",
"url":17,
"doc":"Base class for group control items"
},
{
"ref":"ida_kernwin.Form.ChkGroupItemControl",
"url":17,
"doc":"Checkbox group item control"
},
{
"ref":"ida_kernwin.Form.RadGroupItemControl",
"url":17,
"doc":"Radiobox group item control"
},
{
"ref":"ida_kernwin.Form.GroupControl",
"url":17,
"doc":"Base class for group controls"
},
{
"ref":"ida_kernwin.Form.ChkGroupControl",
"url":17,
"doc":"Checkbox group control class. It holds a set of checkbox controls"
},
{
"ref":"ida_kernwin.Form.RadGroupControl",
"url":17,
"doc":"Radiobox group control class. It holds a set of radiobox controls"
},
{
"ref":"ida_kernwin.Form.InputControl",
"url":17,
"doc":"Generic form input control. It could be numeric control, string control, directory/file browsing, etc ."
},
{
"ref":"ida_kernwin.Form.NumericInput",
"url":17,
"doc":"A composite class serving as a base numeric input control class"
},
{
"ref":"ida_kernwin.Form.ColorInput",
"url":17,
"doc":"Color button input control"
},
{
"ref":"ida_kernwin.Form.StringInput",
"url":17,
"doc":"Base string input control class. This class also constructs a StringArgument"
},
{
"ref":"ida_kernwin.Form.FileInput",
"url":17,
"doc":"File Open/Save input control"
},
{
"ref":"ida_kernwin.Form.DirInput",
"url":17,
"doc":"Directory browsing control"
},
{
"ref":"ida_kernwin.Form.ButtonInput",
"url":17,
"doc":"Button control. A handler along with a 'code' (numeric value) can be associated with the button. This way one handler can handle many buttons based on the button code (or in other terms id or tag)"
},
{
"ref":"ida_kernwin.Form.FormChangeCb",
"url":17,
"doc":"Form change handler. This can be thought of like a dialog procedure. Everytime a form action occurs, this handler will be called along with the control id. The programmer can then call various form actions accordingly: - EnableField - ShowField - MoveField - GetFieldValue - etc . Special control IDs: -1 (The form is initialized) and -2 (Ok has been clicked)"
},
{
"ref":"ida_kernwin.Form.EmbeddedChooserControl",
"url":17,
"doc":"Embedded chooser control. This control links to a Chooser2 control created with the 'embedded=True'"
},
{
"ref":"ida_kernwin.Form.DropdownListControl",
"url":17,
"doc":"Dropdown control This control allows manipulating a dropdown control"
},
{
"ref":"ida_kernwin.Form.MultiLineTextControl",
"url":17,
"doc":"Multi line text control. This class inherits from textctrl_info_t. Thus the attributes are also inherited This control allows manipulating a multilinetext control"
},
{
"ref":"ida_kernwin.Form.Free",
"url":17,
"doc":"Frees all resources associated with a compiled form. Make sure you call this function when you finish using the form.",
"func":1
},
{
"ref":"ida_kernwin.Form.Add",
"url":17,
"doc":"Low level function. Prefer AddControls() to this function. This function adds one control to the form. @param name: Control name @param ctrl: Control object @param mkattr: Create control name / control object as a form attribute",
"func":1
},
{
"ref":"ida_kernwin.Form.FindControlById",
"url":17,
"doc":"Finds a control instance given its id",
"func":1
},
{
"ref":"ida_kernwin.Form.AddControls",
"url":17,
"doc":"Adds controls from a dictionary. The dictionary key is the control name and the value is a Form.Control object @param controls: The control dictionary",
"func":1
},
{
"ref":"ida_kernwin.Form.CompileEx",
"url":17,
"doc":"Low level function. Compiles (parses the form syntax and adds the control) the form string and returns the argument list to be passed the argument list to ask_form(). The form controls are wrapped inside curly braces: {ControlName}. A special operator can be used to return the index of a given control by its name: {id:ControlName}. This is useful when you use the STARTITEM form keyword to set the initially focused control. (note that, technically, the index is not the same as the ID; that's because STARTITEM uses raw, 0-based indexes rather than control IDs to determine the focused widget.) @param form: Compiles the form and returns the arguments needed to be passed to ask_form()",
"func":1
},
{
"ref":"ida_kernwin.Form.Compile",
"url":17,
"doc":"Compiles a form and returns the form object (self) and the argument list. The form object will contain object names corresponding to the form elements @return: It will raise an exception on failure. Otherwise the return value is ignored",
"func":1
},
{
"ref":"ida_kernwin.Form.Compiled",
"url":17,
"doc":"Checks if the form has already been compiled @return: Boolean",
"func":1
},
{
"ref":"ida_kernwin.Form.Execute",
"url":17,
"doc":"Displays a modal dialog containing the compiled form. @return: 1 - ok ; 0 - cancel",
"func":1
},
{
"ref":"ida_kernwin.Form.Open",
"url":17,
"doc":"Opens a widget containing the compiled form.",
"func":1
},
{
"ref":"ida_kernwin.Form.EnableField",
"url":17,
"doc":"Enable or disable an input field @return: False - no such control",
"func":1
},
{
"ref":"ida_kernwin.Form.ShowField",
"url":17,
"doc":"Show or hide an input field @return: False - no such control",
"func":1
},
{
"ref":"ida_kernwin.Form.MoveField",
"url":17,
"doc":"Move/resize an input field @return: False - no such fiel",
"func":1
},
{
"ref":"ida_kernwin.Form.GetFocusedField",
"url":17,
"doc":"Get currently focused input field. @return: None if no field is selected otherwise the control ID",
"func":1
},
{
"ref":"ida_kernwin.Form.SetFocusedField",
"url":17,
"doc":"Set currently focused input field @return: False - no such control",
"func":1
},
{
"ref":"ida_kernwin.Form.RefreshField",
"url":17,
"doc":"Refresh a field @return: False - no such control",
"func":1
},
{
"ref":"ida_kernwin.Form.Close",
"url":17,
"doc":"Close the form @param close_normally 1: form is closed normally as if the user pressed Enter 0: form is closed abnormally as if the user pressed Esc @return: None",
"func":1
},
{
"ref":"ida_kernwin.Form.GetControlValue",
"url":17,
"doc":"Returns the control's value depending on its type @param ctrl: Form control instance @return: - color button, radio controls: integer - file/dir input, string input and string label: string - embedded chooser control (0-based indices of selected items): integer list - for multilinetext control: textctrl_info_t - dropdown list controls: string (when editable) or index (when readonly) - None: on failure",
"func":1
},
{
"ref":"ida_kernwin.Form.SetControlValue",
"url":17,
"doc":"Set the control's value depending on its type @param ctrl: Form control instance @param value - embedded chooser: a 0-base indices list to select embedded chooser items - multilinetext: a textctrl_info_t - dropdown list: an integer designating the selection index if readonly a string designating the edit control value if not readonly @return: Boolean true on success",
"func":1
},
{
"ref":"ida_kernwin.Form.ControlToFieldTypeIdAndSize",
"url":17,
"doc":"Converts a control object to a tuple containing the field id and the associated buffer size",
"func":1
},
{
"ref":"ida_kernwin.Form.form",
"url":17,
"doc":"Form string"
},
{
"ref":"ida_kernwin.Form.controls",
"url":17,
"doc":"Dictionary of controls"
},
{
"ref":"ida_kernwin.Form.title",
"url":17,
"doc":"The Form title. It will be filled when the form is compiled"
},
{
"ref":"ida_kernwin.Form.modal",
"url":17,
"doc":"By default, forms are modal"
},
{
"ref":"ida_kernwin.Form.openform_flags",
"url":17,
"doc":"If non-modal, these flags will be passed to open_form. This is an OR'ed combination of the PluginForm.FORM_ values."
},
{
"ref":"ida_kernwin.ask_form",
"url":17,
"doc":"Display a dialog box and wait for the user. If the form contains the \"BUTTON NO  \" keyword, then the return values are the same as in the ask_yn() function (Button IDs) @retval 0: no memory to display or form syntax error (a warning is displayed in this case). the user pressed the 'No' button (if the form has it) or the user cancelled the dialog otherwise. all variables retain their original values. @retval 1: ok, all input fields are filled and validated. @retval -1: the form has the 'No' button and the user cancelled the dialog",
"func":1
},
{
"ref":"ida_kernwin.open_form",
"url":17,
"doc":"Display a dockable modeless dialog box and return a handle to it. The modeless form can be closed in the following ways:  by pressing the small 'x' in the window title  by calling form_actions_t close() from the form callback (form_actions_t) @note: pressing the 'Yes/No/Cancel' buttons does not close the modeless form, except if the form callback explicitly calls close(). @return: handle to the form or nullptr. the handle can be used with TWidget",
"func":1
},
{
"ref":"ida_kernwin.install_command_interpreter",
"url":17,
"doc":"install_command_interpreter(py_obj) -> int Install command line interpreter (ui_install_cli) @param py_obj: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.remove_command_interpreter",
"url":17,
"doc":"remove_command_interpreter(cli_idx) Remove command line interpreter (ui_install_cli) @param cli_idx: int",
"func":1
},
{
"ref":"ida_kernwin.cli_t",
"url":17,
"doc":"cli_t wrapper class. This class allows you to implement your own command line interface handlers."
},
{
"ref":"ida_kernwin.cli_t.register",
"url":17,
"doc":"Registers the CLI. @param flags: Feature bits. No bits are defined yet, must be 0 @param sname: Short name (displayed on the button) @param lname: Long name (displayed in the menu) @param hint: Hint for the input line @return: Boolean: True-Success, False-Failed",
"func":1
},
{
"ref":"ida_kernwin.cli_t.unregister",
"url":17,
"doc":"Unregisters the CLI (if it was registered)",
"func":1
},
{
"ref":"ida_kernwin.cli_t.OnExecuteLine",
"url":17,
"doc":"The user pressed Enter. The CLI is free to execute the line immediately or ask for more lines. This callback is mandatory. @param line: typed line(s) @return: Boolean: True-executed line, False-ask for more lines",
"func":1
},
{
"ref":"ida_kernwin.cli_t.OnKeydown",
"url":17,
"doc":"A keyboard key has been pressed This is a generic callback and the CLI is free to do whatever it wants. This callback is optional. @param line: current input line @param x: current x coordinate of the cursor @param sellen: current selection length (usually 0) @param vkey: virtual key code. if the key has been handled, it should be returned as zero @param shift: shift state @return: None - Nothing was changed tuple(line, x, sellen, vkey): if either of the input line or the x coordinate or the selection length has been modified. It is possible to return a tuple with None elements to preserve old values. Example: tuple(new_line, None, None, None) or tuple(new_line)",
"func":1
},
{
"ref":"ida_kernwin.cli_t.OnFindCompletions",
"url":17,
"doc":"The user pressed Tab. Return a list of completions This callback is optional. @param line: the current line (string) @param x: the index where the cursor is (int) @return: None if no completion could be generated, otherwise a tuple: (completions : Sequence[str], hints : Sequence[str], docs: Sequence[str], match_start: int, match_end: int)",
"func":1
},
{
"ref":"ida_kernwin.View_Hooks",
"url":17,
"doc":"Proxy of C View_Hooks class. __init__(self, _flags=0, _hkcb_flags=0x0001) -> View_Hooks @param _flags: uint32 @param _hkcb_flags: uint32"
},
{
"ref":"ida_kernwin.View_Hooks.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.View_Hooks.hook",
"url":17,
"doc":"hook(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.View_Hooks.unhook",
"url":17,
"doc":"unhook(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.View_Hooks.view_activated",
"url":17,
"doc":"view_activated(self, view) A view is activated @param view: (TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.View_Hooks.view_deactivated",
"url":17,
"doc":"view_deactivated(self, view) A view is deactivated @param view: (TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.View_Hooks.view_keydown",
"url":17,
"doc":"view_keydown(self, view, key, state) Key down event @param view: (TWidget  ) @param key: (int) @param state: ( view_event_state_t)",
"func":1
},
{
"ref":"ida_kernwin.View_Hooks.view_click",
"url":17,
"doc":"view_click(self, view, event) Click event @param view: (TWidget  ) @param event: (const view_mouse_event_t  )",
"func":1
},
{
"ref":"ida_kernwin.View_Hooks.view_dblclick",
"url":17,
"doc":"view_dblclick(self, view, event) Double click event @param view: (TWidget  ) @param event: (const view_mouse_event_t  )",
"func":1
},
{
"ref":"ida_kernwin.View_Hooks.view_curpos",
"url":17,
"doc":"view_curpos(self, view) Cursor position changed @param view: (TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.View_Hooks.view_created",
"url":17,
"doc":"view_created(self, view) A view is being created. @param view: (TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.View_Hooks.view_close",
"url":17,
"doc":"view_close(self, view) View closed @param view: (TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.View_Hooks.view_switched",
"url":17,
"doc":"view_switched(self, view, rt) A view's renderer has changed. @param view: (TWidget  ) @param rt: (tcc_renderer_type_t)",
"func":1
},
{
"ref":"ida_kernwin.View_Hooks.view_mouse_over",
"url":17,
"doc":"view_mouse_over(self, view, event) The user moved the mouse over (or out of) a node or an edge. This is only relevant in a graph view. @param view: (TWidget  ) @param event: (const view_mouse_event_t  )",
"func":1
},
{
"ref":"ida_kernwin.View_Hooks.view_loc_changed",
"url":17,
"doc":"view_loc_changed(self, view, now, was) The location for the view has changed (can be either the place_t, the renderer_info_t, or both.) @param view: (TWidget  ) @param now: (const lochist_entry_t  ) @param was: (const lochist_entry_t  )",
"func":1
},
{
"ref":"ida_kernwin.View_Hooks.view_mouse_moved",
"url":17,
"doc":"view_mouse_moved(self, view, event) The mouse moved on the view @param view: (TWidget  ) @param event: (const view_mouse_event_t  )",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo",
"url":17,
"doc":"Proxy of C View_Hooks class. __init__(self, _flags=0, _hkcb_flags=0x0001) -> View_Hooks @param _flags: uint32 @param _hkcb_flags: uint32"
},
{
"ref":"ida_kernwin.CustomIDAMemo.view_activated",
"url":17,
"doc":"view_activated(self, view) A view is activated @param view: (TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.view_deactivated",
"url":17,
"doc":"view_deactivated(self, view) A view is deactivated @param view: (TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.view_keydown",
"url":17,
"doc":"view_keydown(self, view, key, state) Key down event @param view: (TWidget  ) @param key: (int) @param state: ( view_event_state_t)",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.view_click",
"url":17,
"doc":"view_click(self, view, event) Click event @param view: (TWidget  ) @param event: (const view_mouse_event_t  )",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.view_dblclick",
"url":17,
"doc":"view_dblclick(self, view, event) Double click event @param view: (TWidget  ) @param event: (const view_mouse_event_t  )",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.view_curpos",
"url":17,
"doc":"view_curpos(self, view) Cursor position changed @param view: (TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.view_close",
"url":17,
"doc":"view_close(self, view) View closed @param view: (TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.view_switched",
"url":17,
"doc":"view_switched(self, view, rt) A view's renderer has changed. @param view: (TWidget  ) @param rt: (tcc_renderer_type_t)",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.view_mouse_over",
"url":17,
"doc":"view_mouse_over(self, view, event) The user moved the mouse over (or out of) a node or an edge. This is only relevant in a graph view. @param view: (TWidget  ) @param event: (const view_mouse_event_t  )",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.view_loc_changed",
"url":17,
"doc":"view_loc_changed(self, view, now, was) The location for the view has changed (can be either the place_t, the renderer_info_t, or both.) @param view: (TWidget  ) @param now: (const lochist_entry_t  ) @param was: (const lochist_entry_t  )",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.view_mouse_moved",
"url":17,
"doc":"view_mouse_moved(self, view, event) The mouse moved on the view @param view: (TWidget  ) @param event: (const view_mouse_event_t  )",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.Refresh",
"url":17,
"doc":"Refreshes the view. This causes the OnRefresh() to be called",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.GetCurrentRendererType",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.SetCurrentRendererType",
"url":17,
"doc":"Set the current view's renderer. @param rtype: The renderer type. Should be one of the idaapi.TCCRT_ values.",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.SetNodeInfo",
"url":17,
"doc":"Set the properties for the given node. Example usage (set second nodes's bg color to red): inst =  . p = idaapi.node_info_t() p.bg_color = 0x00ff0000 inst.SetNodeInfo(1, p, idaapi.NIF_BG_COLOR) @param node_index: The node index. @param node_info: An idaapi.node_info_t instance. @param flags: An OR'ed value of NIF_ values.",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.SetNodesInfos",
"url":17,
"doc":"Set the properties for the given nodes. Example usage (set first three nodes's bg color to purple): inst =  . p = idaapi.node_info_t() p.bg_color = 0x00ff00ff inst.SetNodesInfos({0 : p, 1 : p, 2 : p}) @param values: A dictionary of 'int -> node_info_t' objects.",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.GetNodeInfo",
"url":17,
"doc":"Get the properties for the given node. @param ni: A node_info_t instance @param node: The index of the node. @return: success",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.DelNodesInfos",
"url":17,
"doc":"Delete the properties for the given node(s). @param nodes: A list of node IDs",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.CreateGroups",
"url":17,
"doc":"Send a request to modify the graph by creating a (set of) group(s), and perform an animation. Each object in the 'groups_infos' list must be of the format: { \"nodes\" : [ ,  ,  ,  .]  The list of nodes to group \"text\" :   The synthetic text for that group } @param groups_infos: A list of objects that describe those groups. @return: A [ ,  ,  .] list of group nodes, or None (failure).",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.DeleteGroups",
"url":17,
"doc":"Send a request to delete the specified groups in the graph, and perform an animation. @param groups: A list of group node numbers. @param new_current: A node to focus on after the groups have been deleted @return: True on success, False otherwise.",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.SetGroupsVisibility",
"url":17,
"doc":"Send a request to expand/collapse the specified groups in the graph, and perform an animation. @param groups: A list of group node numbers. @param expand: True to expand the group, False otherwise. @param new_current: A node to focus on after the groups have been expanded/collapsed. @return: True on success, False otherwise.",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.GetWidget",
"url":17,
"doc":"Return the TWidget underlying this view. @return: The TWidget underlying this view, or None.",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.GetWidgetAsGraphViewer",
"url":17,
"doc":"Return the graph_viewer_t underlying this view. @return: The graph_viewer_t underlying this view, or None.",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.CustomIDAMemo.hook",
"url":17,
"doc":"hook(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.unhook",
"url":17,
"doc":"unhook(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.CustomIDAMemo.view_created",
"url":17,
"doc":"view_created(self, view) A view is being created. @param view: (TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.pyidag_bind",
"url":17,
"doc":"pyidag_bind(_self) -> bool @param self: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.pyidag_unbind",
"url":17,
"doc":"pyidag_unbind(_self) -> bool @param self: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper",
"url":17,
"doc":"Deprecated. Use View_Hooks instead. Because the lifecycle of an IDAView is not trivial to track (e.g., a user might close, then re-open the same disassembly view), this wrapper doesn't bring anything superior to the View_Hooks: quite the contrary, as the latter is much more generic (and better maps IDA's internal model.) __init__(self, _flags=0, _hkcb_flags=0x0001) -> View_Hooks @param _flags: uint32 @param _hkcb_flags: uint32"
},
{
"ref":"ida_kernwin.IDAViewWrapper.Bind",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.Unbind",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.view_activated",
"url":17,
"doc":"view_activated(self, view) A view is activated @param view: (TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.view_deactivated",
"url":17,
"doc":"view_deactivated(self, view) A view is deactivated @param view: (TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.view_keydown",
"url":17,
"doc":"view_keydown(self, view, key, state) Key down event @param view: (TWidget  ) @param key: (int) @param state: ( view_event_state_t)",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.view_click",
"url":17,
"doc":"view_click(self, view, event) Click event @param view: (TWidget  ) @param event: (const view_mouse_event_t  )",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.view_dblclick",
"url":17,
"doc":"view_dblclick(self, view, event) Double click event @param view: (TWidget  ) @param event: (const view_mouse_event_t  )",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.view_curpos",
"url":17,
"doc":"view_curpos(self, view) Cursor position changed @param view: (TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.view_close",
"url":17,
"doc":"view_close(self, view) View closed @param view: (TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.view_switched",
"url":17,
"doc":"view_switched(self, view, rt) A view's renderer has changed. @param view: (TWidget  ) @param rt: (tcc_renderer_type_t)",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.view_mouse_over",
"url":17,
"doc":"view_mouse_over(self, view, event) The user moved the mouse over (or out of) a node or an edge. This is only relevant in a graph view. @param view: (TWidget  ) @param event: (const view_mouse_event_t  )",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.view_loc_changed",
"url":17,
"doc":"view_loc_changed(self, view, now, was) The location for the view has changed (can be either the place_t, the renderer_info_t, or both.) @param view: (TWidget  ) @param now: (const lochist_entry_t  ) @param was: (const lochist_entry_t  )",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.view_mouse_moved",
"url":17,
"doc":"view_mouse_moved(self, view, event) The mouse moved on the view @param view: (TWidget  ) @param event: (const view_mouse_event_t  )",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.Refresh",
"url":17,
"doc":"Refreshes the view. This causes the OnRefresh() to be called",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.SetCurrentRendererType",
"url":17,
"doc":"Set the current view's renderer. @param rtype: The renderer type. Should be one of the idaapi.TCCRT_ values.",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.SetNodeInfo",
"url":17,
"doc":"Set the properties for the given node. Example usage (set second nodes's bg color to red): inst =  . p = idaapi.node_info_t() p.bg_color = 0x00ff0000 inst.SetNodeInfo(1, p, idaapi.NIF_BG_COLOR) @param node_index: The node index. @param node_info: An idaapi.node_info_t instance. @param flags: An OR'ed value of NIF_ values.",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.SetNodesInfos",
"url":17,
"doc":"Set the properties for the given nodes. Example usage (set first three nodes's bg color to purple): inst =  . p = idaapi.node_info_t() p.bg_color = 0x00ff00ff inst.SetNodesInfos({0 : p, 1 : p, 2 : p}) @param values: A dictionary of 'int -> node_info_t' objects.",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.GetNodeInfo",
"url":17,
"doc":"Get the properties for the given node. @param ni: A node_info_t instance @param node: The index of the node. @return: success",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.DelNodesInfos",
"url":17,
"doc":"Delete the properties for the given node(s). @param nodes: A list of node IDs",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.CreateGroups",
"url":17,
"doc":"Send a request to modify the graph by creating a (set of) group(s), and perform an animation. Each object in the 'groups_infos' list must be of the format: { \"nodes\" : [ ,  ,  ,  .]  The list of nodes to group \"text\" :   The synthetic text for that group } @param groups_infos: A list of objects that describe those groups. @return: A [ ,  ,  .] list of group nodes, or None (failure).",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.DeleteGroups",
"url":17,
"doc":"Send a request to delete the specified groups in the graph, and perform an animation. @param groups: A list of group node numbers. @param new_current: A node to focus on after the groups have been deleted @return: True on success, False otherwise.",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.SetGroupsVisibility",
"url":17,
"doc":"Send a request to expand/collapse the specified groups in the graph, and perform an animation. @param groups: A list of group node numbers. @param expand: True to expand the group, False otherwise. @param new_current: A node to focus on after the groups have been expanded/collapsed. @return: True on success, False otherwise.",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.GetWidget",
"url":17,
"doc":"Return the TWidget underlying this view. @return: The TWidget underlying this view, or None.",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.GetWidgetAsGraphViewer",
"url":17,
"doc":"Return the graph_viewer_t underlying this view. @return: The graph_viewer_t underlying this view, or None.",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.thisown",
"url":17,
"doc":"The membership flag"
},
{
"ref":"ida_kernwin.IDAViewWrapper.hook",
"url":17,
"doc":"hook(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.unhook",
"url":17,
"doc":"unhook(self) -> bool",
"func":1
},
{
"ref":"ida_kernwin.IDAViewWrapper.view_created",
"url":17,
"doc":"view_created(self, view) A view is being created. @param view: (TWidget  )",
"func":1
},
{
"ref":"ida_kernwin.pyscv_init",
"url":17,
"doc":"pyscv_init(py_link, title) -> PyObject  @param py_link: PyObject  @param title: char const  ",
"func":1
},
{
"ref":"ida_kernwin.pyscv_refresh",
"url":17,
"doc":"pyscv_refresh(py_this) -> bool @param py_this: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.pyscv_get_current_line",
"url":17,
"doc":"pyscv_get_current_line(py_this, mouse, notags) -> PyObject  @param py_this: PyObject  @param mouse: bool @param notags: bool",
"func":1
},
{
"ref":"ida_kernwin.pyscv_is_focused",
"url":17,
"doc":"pyscv_is_focused(py_this) -> bool @param py_this: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.pyscv_count",
"url":17,
"doc":"pyscv_count(py_this) -> size_t @param py_this: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.pyscv_show",
"url":17,
"doc":"pyscv_show(py_this) -> bool @param py_this: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.pyscv_close",
"url":17,
"doc":"pyscv_close(py_this) @param py_this: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.pyscv_jumpto",
"url":17,
"doc":"pyscv_jumpto(py_this, ln, x, y) -> bool @param py_this: PyObject  @param ln: size_t @param x: int @param y: int",
"func":1
},
{
"ref":"ida_kernwin.pyscv_get_line",
"url":17,
"doc":"pyscv_get_line(py_this, nline) -> PyObject  @param py_this: PyObject  @param nline: size_t",
"func":1
},
{
"ref":"ida_kernwin.pyscv_get_pos",
"url":17,
"doc":"pyscv_get_pos(py_this, mouse) -> PyObject  @param py_this: PyObject  @param mouse: bool",
"func":1
},
{
"ref":"ida_kernwin.pyscv_clear_lines",
"url":17,
"doc":"pyscv_clear_lines(py_this) -> PyObject  @param py_this: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.pyscv_add_line",
"url":17,
"doc":"pyscv_add_line(py_this, py_sl) -> bool @param py_this: PyObject  @param py_sl: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.pyscv_insert_line",
"url":17,
"doc":"pyscv_insert_line(py_this, nline, py_sl) -> bool @param py_this: PyObject  @param nline: size_t @param py_sl: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.pyscv_patch_line",
"url":17,
"doc":"pyscv_patch_line(py_this, nline, offs, value) -> bool @param py_this: PyObject  @param nline: size_t @param offs: size_t @param value: int",
"func":1
},
{
"ref":"ida_kernwin.pyscv_del_line",
"url":17,
"doc":"pyscv_del_line(py_this, nline) -> bool @param py_this: PyObject  @param nline: size_t",
"func":1
},
{
"ref":"ida_kernwin.pyscv_get_selection",
"url":17,
"doc":"pyscv_get_selection(py_this) -> PyObject  @param py_this: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.pyscv_get_current_word",
"url":17,
"doc":"pyscv_get_current_word(py_this, mouse) -> PyObject  @param py_this: PyObject  @param mouse: bool",
"func":1
},
{
"ref":"ida_kernwin.pyscv_edit_line",
"url":17,
"doc":"pyscv_edit_line(py_this, nline, py_sl) -> bool @param py_this: PyObject  @param nline: size_t @param py_sl: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.pyscv_get_widget",
"url":17,
"doc":"pyscv_get_widget(py_this) -> TWidget  @param py_this: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.simplecustviewer_t",
"url":17,
"doc":"The base class for implementing simple custom viewers"
},
{
"ref":"ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline",
"url":17,
"doc":"Proxy of C UI_Hooks class."
},
{
"ref":"ida_kernwin.simplecustviewer_t.OnPopup",
"url":17,
"doc":"Context menu popup is about to be shown. Create items dynamically if you wish @return: Boolean. True if you handled the event",
"func":1
},
{
"ref":"ida_kernwin.simplecustviewer_t.Create",
"url":17,
"doc":"Creates the custom view. This should be the first method called after instantiation @param title: The title of the view @return: Boolean whether it succeeds or fails. It may fail if a window with the same title is already open. In this case better close existing windows",
"func":1
},
{
"ref":"ida_kernwin.simplecustviewer_t.Close",
"url":17,
"doc":"Destroys the view. One has to call Create() afterwards. Show() can be called and it will call Create() internally. @return: Boolean",
"func":1
},
{
"ref":"ida_kernwin.simplecustviewer_t.Show",
"url":17,
"doc":"Shows an already created view. It the view was closed, then it will call Create() for you @return: Boolean",
"func":1
},
{
"ref":"ida_kernwin.simplecustviewer_t.Refresh",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.simplecustviewer_t.RefreshCurrent",
"url":17,
"doc":"Refreshes the current line only",
"func":1
},
{
"ref":"ida_kernwin.simplecustviewer_t.Count",
"url":17,
"doc":"Returns the number of lines in the view",
"func":1
},
{
"ref":"ida_kernwin.simplecustviewer_t.GetSelection",
"url":17,
"doc":"Returns the selected range or None @return: - tuple(x1, y1, x2, y2) - None if no selection",
"func":1
},
{
"ref":"ida_kernwin.simplecustviewer_t.ClearLines",
"url":17,
"doc":"Clears all the lines",
"func":1
},
{
"ref":"ida_kernwin.simplecustviewer_t.AddLine",
"url":17,
"doc":"Adds a colored line to the view @return: Boolean",
"func":1
},
{
"ref":"ida_kernwin.simplecustviewer_t.InsertLine",
"url":17,
"doc":"Inserts a line in the given position @return: Boolean",
"func":1
},
{
"ref":"ida_kernwin.simplecustviewer_t.EditLine",
"url":17,
"doc":"Edits an existing line. @return: Boolean",
"func":1
},
{
"ref":"ida_kernwin.simplecustviewer_t.PatchLine",
"url":17,
"doc":"Patches an existing line character at the given offset. This is a low level function. You must know what you're doing",
"func":1
},
{
"ref":"ida_kernwin.simplecustviewer_t.DelLine",
"url":17,
"doc":"Deletes an existing line @return: Boolean",
"func":1
},
{
"ref":"ida_kernwin.simplecustviewer_t.GetLine",
"url":17,
"doc":"Returns a line @param lineno: The line number @return: Returns a tuple (colored_line, fgcolor, bgcolor) or None",
"func":1
},
{
"ref":"ida_kernwin.simplecustviewer_t.GetCurrentWord",
"url":17,
"doc":"Returns the current word @param mouse: Use mouse position or cursor position @return: None if failed or a String containing the current word at mouse or cursor",
"func":1
},
{
"ref":"ida_kernwin.simplecustviewer_t.GetCurrentLine",
"url":17,
"doc":"Returns the current line. @param mouse: Current line at mouse pos @param notags: If True then tag_remove() will be called before returning the line @return: Returns the current line (colored or uncolored) or None on failure",
"func":1
},
{
"ref":"ida_kernwin.simplecustviewer_t.GetPos",
"url":17,
"doc":"Returns the current cursor or mouse position. @param mouse: return mouse position @return: Returns a tuple (lineno, x, y)",
"func":1
},
{
"ref":"ida_kernwin.simplecustviewer_t.GetLineNo",
"url":17,
"doc":"Calls GetPos() and returns the current line number or -1 on failure",
"func":1
},
{
"ref":"ida_kernwin.simplecustviewer_t.Jump",
"url":17,
"doc":"",
"func":1
},
{
"ref":"ida_kernwin.simplecustviewer_t.IsFocused",
"url":17,
"doc":"Returns True if the current view is the focused view",
"func":1
},
{
"ref":"ida_kernwin.simplecustviewer_t.GetWidget",
"url":17,
"doc":"Return the TWidget underlying this view. @return: The TWidget underlying this view, or None.",
"func":1
},
{
"ref":"ida_kernwin.plgform_new",
"url":17,
"doc":"plgform_new() -> PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.plgform_show",
"url":17,
"doc":"plgform_show(py_link, py_obj, caption, options=(0x0040  16)|0x00000004u) -> bool @param py_link: PyObject  @param py_obj: PyObject  @param caption: char const  @param options: int",
"func":1
},
{
"ref":"ida_kernwin.plgform_close",
"url":17,
"doc":"plgform_close(py_link, options) @param py_link: PyObject  @param options: int",
"func":1
},
{
"ref":"ida_kernwin.plgform_get_widget",
"url":17,
"doc":"plgform_get_widget(py_link) -> TWidget  @param py_link: PyObject  ",
"func":1
},
{
"ref":"ida_kernwin.PluginForm",
"url":17,
"doc":"PluginForm class. This form can be used to host additional controls. Please check the PyQt example."
},
{
"ref":"ida_kernwin.PluginForm.WOPN_MDI",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.PluginForm.WOPN_TAB",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.PluginForm.WOPN_RESTORE",
"url":17,
"doc":"if the widget is the only widget in a floating area when it is closed, remember that area's geometry. The next time that widget is created as floating (i.e., WOPN_DP_FLOATING) its geometry will be restored (e.g., \"Execute script\""
},
{
"ref":"ida_kernwin.PluginForm.WOPN_ONTOP",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.PluginForm.WOPN_MENU",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.PluginForm.WOPN_CENTERED",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.PluginForm.WOPN_PERSIST",
"url":17,
"doc":"form will persist until explicitly closed with Close()"
},
{
"ref":"ida_kernwin.PluginForm.WOPN_DP_LEFT",
"url":17,
"doc":"Dock widget to the left of dest_ctrl"
},
{
"ref":"ida_kernwin.PluginForm.WOPN_DP_TOP",
"url":17,
"doc":"Dock widget above dest_ctrl"
},
{
"ref":"ida_kernwin.PluginForm.WOPN_DP_RIGHT",
"url":17,
"doc":"Dock widget to the right of dest_ctrl"
},
{
"ref":"ida_kernwin.PluginForm.WOPN_DP_BOTTOM",
"url":17,
"doc":"Dock widget below dest_ctrl"
},
{
"ref":"ida_kernwin.PluginForm.WOPN_DP_INSIDE",
"url":17,
"doc":"Create a new tab bar with both widget and dest_ctrl"
},
{
"ref":"ida_kernwin.PluginForm.WOPN_DP_TAB",
"url":17,
"doc":"Place widget into a tab next to dest_ctrl, if dest_ctrl is in a tab bar (otherwise the same as  WOPN_DP_INSIDE)"
},
{
"ref":"ida_kernwin.PluginForm.WOPN_DP_BEFORE",
"url":17,
"doc":"place widget before dst_form in the tab bar instead of after used with  WOPN_DP_INSIDE and  WOPN_DP_TAB"
},
{
"ref":"ida_kernwin.PluginForm.WOPN_DP_FLOATING",
"url":17,
"doc":"When floating or in a splitter (i.e., not tabbed), use the widget's size hint to determine the best geometry (Qt only)"
},
{
"ref":"ida_kernwin.PluginForm.WOPN_DP_SZHINT",
"url":17,
"doc":"Make widget floating"
},
{
"ref":"ida_kernwin.PluginForm.WOPN_DP_INSIDE_BEFORE",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.PluginForm.WOPN_DP_TAB_BEFORE",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.PluginForm.WOPN_CREATE_ONLY",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.PluginForm.Show",
"url":17,
"doc":"Creates the form if not was not created or brings to front if it was already created @param caption: The form caption @param options: One of PluginForm.WOPN_ constants",
"func":1
},
{
"ref":"ida_kernwin.PluginForm.VALID_CAPSULE_NAME",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.PluginForm.TWidgetToPyQtWidget",
"url":17,
"doc":"Convert a TWidget to a QWidget to be used by PyQt @param ctx: Context. Reference to a module that already imported SIP and QtWidgets modules",
"func":1
},
{
"ref":"ida_kernwin.PluginForm.FormToPyQtWidget",
"url":17,
"doc":"Convert a TWidget to a QWidget to be used by PyQt @param ctx: Context. Reference to a module that already imported SIP and QtWidgets modules",
"func":1
},
{
"ref":"ida_kernwin.PluginForm.QtWidgetToTWidget",
"url":17,
"doc":"Convert a QWidget to a TWidget to be used by IDA @param ctx: Context. Reference to a module that already imported SIP and QtWidgets modules",
"func":1
},
{
"ref":"ida_kernwin.PluginForm.TWidgetToPySideWidget",
"url":17,
"doc":"Use this method to convert a TWidget to a QWidget to be used by PySide @param ctx: Context. Reference to a module that already imported QtWidgets module",
"func":1
},
{
"ref":"ida_kernwin.PluginForm.FormToPySideWidget",
"url":17,
"doc":"Use this method to convert a TWidget to a QWidget to be used by PySide @param ctx: Context. Reference to a module that already imported QtWidgets module",
"func":1
},
{
"ref":"ida_kernwin.PluginForm.OnCreate",
"url":17,
"doc":"This event is called when the plugin form is created. The programmer should populate the form when this event is triggered. @return: None",
"func":1
},
{
"ref":"ida_kernwin.PluginForm.OnClose",
"url":17,
"doc":"Called when the plugin form is closed @return: None",
"func":1
},
{
"ref":"ida_kernwin.PluginForm.Close",
"url":17,
"doc":"Closes the form. @param options: Close options (WCLS_SAVE, WCLS_NO_CONTEXT,  .) @return: None",
"func":1
},
{
"ref":"ida_kernwin.PluginForm.GetWidget",
"url":17,
"doc":"Return the TWidget underlying this view. @return: The TWidget underlying this view, or None.",
"func":1
},
{
"ref":"ida_kernwin.PluginForm.WCLS_SAVE",
"url":17,
"doc":"Save state in desktop config"
},
{
"ref":"ida_kernwin.PluginForm.WCLS_NO_CONTEXT",
"url":17,
"doc":"Don't change the current context (useful for toolbars)"
},
{
"ref":"ida_kernwin.PluginForm.WCLS_DONT_SAVE_SIZE",
"url":17,
"doc":"Don't save size of the window"
},
{
"ref":"ida_kernwin.PluginForm.WCLS_DELETE_LATER",
"url":17,
"doc":"This flag should be used when Close() is called from an event handler"
},
{
"ref":"ida_kernwin.PluginForm.WCLS_CLOSE_LATER",
"url":17,
"doc":""
},
{
"ref":"ida_kernwin.place_t_as_idaplace_t",
"url":17,
"doc":"as_idaplace_t(p) -> idaplace_t @param p: place_t  ",
"func":1
},
{
"ref":"ida_kernwin.place_t_as_simpleline_place_t",
"url":17,
"doc":"as_simpleline_place_t(p) -> simpleline_place_t @param p: place_t  ",
"func":1
},
{
"ref":"ida_kernwin.place_t_as_tiplace_t",
"url":17,
"doc":"as_tiplace_t(p) -> tiplace_t @param p: place_t  ",
"func":1
},
{
"ref":"ida_lines",
"url":27,
"doc":"High level functions that deal with the generation of the disassembled text lines. This file also contains definitions for the syntax highlighting. Finally there are functions that deal with anterior/posterior user-defined lines."
},
{
"ref":"ida_lines.COLOR_ON",
"url":27,
"doc":"Escape character (ON). Followed by a color code (color_t)."
},
{
"ref":"ida_lines.COLOR_OFF",
"url":27,
"doc":"Escape character (OFF). Followed by a color code (color_t)."
},
{
"ref":"ida_lines.COLOR_ESC",
"url":27,
"doc":"Escape character (Quote next character). This is needed to output '\\1' and '\\2' characters."
},
{
"ref":"ida_lines.COLOR_INV",
"url":27,
"doc":"Escape character (Inverse foreground and background colors). This escape character has no corresponding COLOR_OFF. Its action continues until the next COLOR_INV or end of line."
},
{
"ref":"ida_lines.SCOLOR_ON",
"url":27,
"doc":"Escape character (ON)"
},
{
"ref":"ida_lines.SCOLOR_OFF",
"url":27,
"doc":"Escape character (OFF)"
},
{
"ref":"ida_lines.SCOLOR_ESC",
"url":27,
"doc":"Escape character (Quote next character)"
},
{
"ref":"ida_lines.SCOLOR_INV",
"url":27,
"doc":"Escape character (Inverse colors)"
},
{
"ref":"ida_lines.SCOLOR_DEFAULT",
"url":27,
"doc":"Default."
},
{
"ref":"ida_lines.SCOLOR_REGCMT",
"url":27,
"doc":"Regular comment."
},
{
"ref":"ida_lines.SCOLOR_RPTCMT",
"url":27,
"doc":"Repeatable comment (defined not here)"
},
{
"ref":"ida_lines.SCOLOR_AUTOCMT",
"url":27,
"doc":"Automatic comment."
},
{
"ref":"ida_lines.SCOLOR_INSN",
"url":27,
"doc":"Instruction."
},
{
"ref":"ida_lines.SCOLOR_DATNAME",
"url":27,
"doc":"Dummy Data Name."
},
{
"ref":"ida_lines.SCOLOR_DNAME",
"url":27,
"doc":"Regular Data Name."
},
{
"ref":"ida_lines.SCOLOR_DEMNAME",
"url":27,
"doc":"Demangled Name."
},
{
"ref":"ida_lines.SCOLOR_SYMBOL",
"url":27,
"doc":"Punctuation."
},
{
"ref":"ida_lines.SCOLOR_CHAR",
"url":27,
"doc":"Char constant in instruction."
},
{
"ref":"ida_lines.SCOLOR_STRING",
"url":27,
"doc":"String constant in instruction."
},
{
"ref":"ida_lines.SCOLOR_NUMBER",
"url":27,
"doc":"Numeric constant in instruction."
},
{
"ref":"ida_lines.SCOLOR_VOIDOP",
"url":27,
"doc":"Void operand."
},
{
"ref":"ida_lines.SCOLOR_CREF",
"url":27,
"doc":"Code reference."
},
{
"ref":"ida_lines.SCOLOR_DREF",
"url":27,
"doc":"Data reference."
},
{
"ref":"ida_lines.SCOLOR_CREFTAIL",
"url":27,
"doc":"Code reference to tail byte."
},
{
"ref":"ida_lines.SCOLOR_DREFTAIL",
"url":27,
"doc":"Data reference to tail byte."
},
{
"ref":"ida_lines.SCOLOR_ERROR",
"url":27,
"doc":"Error or problem."
},
{
"ref":"ida_lines.SCOLOR_PREFIX",
"url":27,
"doc":"Line prefix."
},
{
"ref":"ida_lines.SCOLOR_BINPREF",
"url":27,
"doc":"Binary line prefix bytes."
},
{
"ref":"ida_lines.SCOLOR_EXTRA",
"url":27,
"doc":"Extra line."
},
{
"ref":"ida_lines.SCOLOR_ALTOP",
"url":27,
"doc":"Alternative operand."
},
{
"ref":"ida_lines.SCOLOR_HIDNAME",
"url":27,
"doc":"Hidden name."
},
{
"ref":"ida_lines.SCOLOR_LIBNAME",
"url":27,
"doc":"Library function name."
},
{
"ref":"ida_lines.SCOLOR_LOCNAME",
"url":27,
"doc":"Local variable name."
},
{
"ref":"ida_lines.SCOLOR_CODNAME",
"url":27,
"doc":"Dummy code name."
},
{
"ref":"ida_lines.SCOLOR_ASMDIR",
"url":27,
"doc":"Assembler directive."
},
{
"ref":"ida_lines.SCOLOR_MACRO",
"url":27,
"doc":"Macro."
},
{
"ref":"ida_lines.SCOLOR_DSTR",
"url":27,
"doc":"String constant in data directive."
},
{
"ref":"ida_lines.SCOLOR_DCHAR",
"url":27,
"doc":"Char constant in data directive."
},
{
"ref":"ida_lines.SCOLOR_DNUM",
"url":27,
"doc":"Numeric constant in data directive."
},
{
"ref":"ida_lines.SCOLOR_KEYWORD",
"url":27,
"doc":"Keywords."
},
{
"ref":"ida_lines.SCOLOR_REG",
"url":27,
"doc":"Register name."
},
{
"ref":"ida_lines.SCOLOR_IMPNAME",
"url":27,
"doc":"Imported name."
},
{
"ref":"ida_lines.SCOLOR_SEGNAME",
"url":27,
"doc":"Segment name."
},
{
"ref":"ida_lines.SCOLOR_UNKNAME",
"url":27,
"doc":"Dummy unknown name."
},
{
"ref":"ida_lines.SCOLOR_CNAME",
"url":27,
"doc":"Regular code name."
},
{
"ref":"ida_lines.SCOLOR_UNAME",
"url":27,
"doc":"Regular unknown name."
},
{
"ref":"ida_lines.SCOLOR_COLLAPSED",
"url":27,
"doc":"Collapsed line."
},
{
"ref":"ida_lines.SCOLOR_ADDR",
"url":27,
"doc":"Hidden address mark."
},
{
"ref":"ida_lines.COLOR_SELECTED",
"url":27,
"doc":"Selected."
},
{
"ref":"ida_lines.COLOR_LIBFUNC",
"url":27,
"doc":"Library function."
},
{
"ref":"ida_lines.COLOR_REGFUNC",
"url":27,
"doc":"Regular function."
},
{
"ref":"ida_lines.COLOR_CODE",
"url":27,
"doc":"Single instruction."
},
{
"ref":"ida_lines.COLOR_DATA",
"url":27,
"doc":"Data bytes."
},
{
"ref":"ida_lines.COLOR_UNKNOWN",
"url":27,
"doc":"Unexplored byte."
},
{
"ref":"ida_lines.COLOR_EXTERN",
"url":27,
"doc":"External name definition segment."
},
{
"ref":"ida_lines.COLOR_CURITEM",
"url":27,
"doc":"Current item."
},
{
"ref":"ida_lines.COLOR_CURLINE",
"url":27,
"doc":"Current line."
},
{
"ref":"ida_lines.COLOR_HIDLINE",
"url":27,
"doc":"Hidden line."
},
{
"ref":"ida_lines.COLOR_LUMFUNC",
"url":27,
"doc":"Lumina function."
},
{
"ref":"ida_lines.COLOR_BG_MAX",
"url":27,
"doc":"Max color number."
},
{
"ref":"ida_lines.tag_strlen",
"url":27,
"doc":"tag_strlen(line) -> ssize_t Calculate length of a colored string This function computes the length in unicode codepoints of a line @param line: (C : const char  ) char const  @return: the number of codepoints in the line, or -1 on error",
"func":1
},
{
"ref":"ida_lines.calc_prefix_color",
"url":27,
"doc":"calc_prefix_color(ea) -> color_t Get prefix color for line at 'ea' @param ea: (C : ea_t) @return: Line prefix colors",
"func":1
},
{
"ref":"ida_lines.calc_bg_color",
"url":27,
"doc":"calc_bg_color(ea) -> bgcolor_t Get background color for line at 'ea' @param ea: (C : ea_t) @return: RGB color",
"func":1
},
{
"ref":"ida_lines.add_sourcefile",
"url":27,
"doc":"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. @param ea1: (C : ea_t) linear address of start of the address range @param ea2: (C : ea_t) linear address of end of the address range (excluded) @param filename: (C : const char  ) name of source file. @return: success",
"func":1
},
{
"ref":"ida_lines.get_sourcefile",
"url":27,
"doc":"get_sourcefile(ea, bounds=None) -> char const Get name of source file occupying the given address. @param ea: (C : ea_t) linear address @param bounds: (C : range_t  ) pointer to the output buffer with the address range for the current file. May be nullptr. @return: nullptr if source file information is not found, otherwise returns pointer to file name",
"func":1
},
{
"ref":"ida_lines.del_sourcefile",
"url":27,
"doc":"del_sourcefile(ea) -> bool Delete information about the source file. @param ea: (C : ea_t) linear address @return: success",
"func":1
},
{
"ref":"ida_lines.install_user_defined_prefix",
"url":27,
"doc":"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. @param prefix_len: (C : size_t) prefixed length. if 0, then uninstall UDP @param udp: (C : struct user_defined_prefix_t  ) object to generate user-defined prefix @param owner: (C : const void  ) pointer to the plugin_t that owns UDP if non-nullptr, then the object will be uninstalled and destroyed when the plugin gets unloaded",
"func":1
},
{
"ref":"ida_lines.user_defined_prefix_t",
"url":27,
"doc":"Proxy of C user_defined_prefix_t class. __init__(self, prefix_len, owner) -> user_defined_prefix_t @param prefix_len: size_t @param owner: void const  "
},
{
"ref":"ida_lines.user_defined_prefix_t.thisown",
"url":27,
"doc":"The membership flag"
},
{
"ref":"ida_lines.user_defined_prefix_t.get_user_defined_prefix",
"url":27,
"doc":"get_user_defined_prefix(self, ea, insn, lnnum, indent, line) This callback must be overridden by the derived class. @param ea: (C : ea_t) the current address @param insn: (C : const class insn_t &) the current instruction. if the current item is not an instruction, then insn.itype is zero. @param 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. @param indent: (C : int) see explanations for gen_printf() @param 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.",
"func":1
},
{
"ref":"ida_lines.COLOR_DEFAULT",
"url":27,
"doc":"Default."
},
{
"ref":"ida_lines.COLOR_REGCMT",
"url":27,
"doc":"Regular comment."
},
{
"ref":"ida_lines.COLOR_RPTCMT",
"url":27,
"doc":"Repeatable comment (comment defined somewhere else)"
},
{
"ref":"ida_lines.COLOR_AUTOCMT",
"url":27,
"doc":"Automatic comment."
},
{
"ref":"ida_lines.COLOR_INSN",
"url":27,
"doc":"Instruction."
},
{
"ref":"ida_lines.COLOR_DATNAME",
"url":27,
"doc":"Dummy Data Name."
},
{
"ref":"ida_lines.COLOR_DNAME",
"url":27,
"doc":"Regular Data Name."
},
{
"ref":"ida_lines.COLOR_DEMNAME",
"url":27,
"doc":"Demangled Name."
},
{
"ref":"ida_lines.COLOR_SYMBOL",
"url":27,
"doc":"Punctuation."
},
{
"ref":"ida_lines.COLOR_CHAR",
"url":27,
"doc":"Char constant in instruction."
},
{
"ref":"ida_lines.COLOR_STRING",
"url":27,
"doc":"String constant in instruction."
},
{
"ref":"ida_lines.COLOR_NUMBER",
"url":27,
"doc":"Numeric constant in instruction."
},
{
"ref":"ida_lines.COLOR_VOIDOP",
"url":27,
"doc":"Void operand."
},
{
"ref":"ida_lines.COLOR_CREF",
"url":27,
"doc":"Code reference."
},
{
"ref":"ida_lines.COLOR_DREF",
"url":27,
"doc":"Data reference."
},
{
"ref":"ida_lines.COLOR_CREFTAIL",
"url":27,
"doc":"Code reference to tail byte."
},
{
"ref":"ida_lines.COLOR_DREFTAIL",
"url":27,
"doc":"Data reference to tail byte."
},
{
"ref":"ida_lines.COLOR_ERROR",
"url":27,
"doc":"Error or problem."
},
{
"ref":"ida_lines.COLOR_PREFIX",
"url":27,
"doc":"Line prefix."
},
{
"ref":"ida_lines.COLOR_BINPREF",
"url":27,
"doc":"Binary line prefix bytes."
},
{
"ref":"ida_lines.COLOR_EXTRA",
"url":27,
"doc":"Extra line."
},
{
"ref":"ida_lines.COLOR_ALTOP",
"url":27,
"doc":"Alternative operand."
},
{
"ref":"ida_lines.COLOR_HIDNAME",
"url":27,
"doc":"Hidden name."
},
{
"ref":"ida_lines.COLOR_LIBNAME",
"url":27,
"doc":"Library function name."
},
{
"ref":"ida_lines.COLOR_LOCNAME",
"url":27,
"doc":"Local variable name."
},
{
"ref":"ida_lines.COLOR_CODNAME",
"url":27,
"doc":"Dummy code name."
},
{
"ref":"ida_lines.COLOR_ASMDIR",
"url":27,
"doc":"Assembler directive."
},
{
"ref":"ida_lines.COLOR_MACRO",
"url":27,
"doc":"Macro."
},
{
"ref":"ida_lines.COLOR_DSTR",
"url":27,
"doc":"String constant in data directive."
},
{
"ref":"ida_lines.COLOR_DCHAR",
"url":27,
"doc":"Char constant in data directive."
},
{
"ref":"ida_lines.COLOR_DNUM",
"url":27,
"doc":"Numeric constant in data directive."
},
{
"ref":"ida_lines.COLOR_KEYWORD",
"url":27,
"doc":"Keywords."
},
{
"ref":"ida_lines.COLOR_REG",
"url":27,
"doc":"Register name."
},
{
"ref":"ida_lines.COLOR_IMPNAME",
"url":27,
"doc":"Imported name."
},
{
"ref":"ida_lines.COLOR_SEGNAME",
"url":27,
"doc":"Segment name."
},
{
"ref":"ida_lines.COLOR_UNKNAME",
"url":27,
"doc":"Dummy unknown name."
},
{
"ref":"ida_lines.COLOR_CNAME",
"url":27,
"doc":"Regular code name."
},
{
"ref":"ida_lines.COLOR_UNAME",
"url":27,
"doc":"Regular unknown name."
},
{
"ref":"ida_lines.COLOR_COLLAPSED",
"url":27,
"doc":"Collapsed line."
},
{
"ref":"ida_lines.COLOR_FG_MAX",
"url":27,
"doc":"Max color number."
},
{
"ref":"ida_lines.COLOR_ADDR",
"url":27,
"doc":"hidden address marks. the address is represented as 8digit hex number: 01234567. it doesn't have COLOR_OFF pair. NB: for 64-bit IDA, the address is 16digit."
},
{
"ref":"ida_lines.COLOR_OPND1",
"url":27,
"doc":"Instruction operand 1."
},
{
"ref":"ida_lines.COLOR_OPND2",
"url":27,
"doc":"Instruction operand 2."
},
{
"ref":"ida_lines.COLOR_OPND3",
"url":27,
"doc":"Instruction operand 3."
},
{
"ref":"ida_lines.COLOR_OPND4",
"url":27,
"doc":"Instruction operand 4."
},
{
"ref":"ida_lines.COLOR_OPND5",
"url":27,
"doc":"Instruction operand 5."
},
{
"ref":"ida_lines.COLOR_OPND6",
"url":27,
"doc":"Instruction operand 6."
},
{
"ref":"ida_lines.COLOR_OPND7",
"url":27,
"doc":"Instruction operand 7."
},
{
"ref":"ida_lines.COLOR_OPND8",
"url":27,
"doc":"Instruction operand 8."
},
{
"ref":"ida_lines.COLOR_RESERVED1",
"url":27,
"doc":"This tag is reserved for internal IDA use."
},
{
"ref":"ida_lines.COLOR_LUMINA",
"url":27,
"doc":"Lumina-related, only for the navigation band."
},
{
"ref":"ida_lines.VEL_POST",
"url":27,
"doc":"append posterior line"
},
{
"ref":"ida_lines.VEL_CMT",
"url":27,
"doc":"append comment line"
},
{
"ref":"ida_lines.add_extra_line",
"url":27,
"doc":"add_extra_line(ea, isprev, format) -> bool Add anterior/posterior non-comment line(s). @param ea: (C : ea_t) linear address @param isprev: (C : bool) do we add anterior lines? (0-no, posterior) @param format: (C : const char  ) printf() style format string. may contain \\n to denote new lines. @return: true if success",
"func":1
},
{
"ref":"ida_lines.add_extra_cmt",
"url":27,
"doc":"add_extra_cmt(ea, isprev, format) -> bool Add anterior/posterior comment line(s). @param ea: (C : ea_t) linear address @param isprev: (C : bool) do we add anterior lines? (0-no, posterior) @param format: (C : const char  ) printf() style format string. may contain \\n to denote new lines. The resulting string should not contain comment characters (;), the kernel will add them automatically. @return: true if success",
"func":1
},
{
"ref":"ida_lines.add_pgm_cmt",
"url":27,
"doc":"add_pgm_cmt(format) -> bool Add anterior comment line(s) at the start of program. @param format: (C : const char  ) printf() style format string. may contain \\n to denote new lines. The resulting string should not contain comment characters (;), the kernel will add them automatically. @return: true if success",
"func":1
},
{
"ref":"ida_lines.generate_disasm_line",
"url":27,
"doc":"generate_disasm_line(ea, flags=0) -> bool @param ea: ea_t @param flags: int",
"func":1
},
{
"ref":"ida_lines.get_first_free_extra_cmtidx",
"url":27,
"doc":"get_first_free_extra_cmtidx(ea, start) -> int @param ea: ea_t @param start: int",
"func":1
},
{
"ref":"ida_lines.update_extra_cmt",
"url":27,
"doc":"update_extra_cmt(ea, what, str) -> bool @param ea: ea_t @param what: int @param str: char const  ",
"func":1
},
{
"ref":"ida_lines.del_extra_cmt",
"url":27,
"doc":"del_extra_cmt(ea, what) -> bool @param ea: ea_t @param what: int",
"func":1
},
{
"ref":"ida_lines.get_extra_cmt",
"url":27,
"doc":"get_extra_cmt(ea, what) -> ssize_t @param ea: ea_t @param what: int",
"func":1
},
{
"ref":"ida_lines.delete_extra_cmts",
"url":27,
"doc":"delete_extra_cmts(ea, what) @param ea: ea_t @param what: int",
"func":1
},
{
"ref":"ida_lines.create_encoding_helper",
"url":27,
"doc":"create_encoding_helper(encidx=-1, nr=nr_once) -> encoder_t @param encidx: int @param nr: enum encoder_t notify_recerr_t",
"func":1
},
{
"ref":"ida_lines.tag_remove",
"url":27,
"doc":"tag_remove(nonnul_instr) -> str @param nonnul_instr: char const  ",
"func":1
},
{
"ref":"ida_lines.tag_addr",
"url":27,
"doc":"tag_addr(ea) -> PyObject  Insert an address mark into a string. @param ea: (C : ea_t) address to include",
"func":1
},
{
"ref":"ida_lines.tag_skipcode",
"url":27,
"doc":"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. @param line: (C : const char  ) char const  @return: moved pointer",
"func":1
},
{
"ref":"ida_lines.tag_skipcodes",
"url":27,
"doc":"tag_skipcodes(line) -> int Move the pointer past all color codes. @param line: (C : const char  ) can't be nullptr @return: moved pointer, can't be nullptr",
"func":1
},
{
"ref":"ida_lines.tag_advance",
"url":27,
"doc":"tag_advance(line, cnt) -> int Move pointer to a 'line' to 'cnt' positions right. Take into account escape sequences. @param line: (C : const char  ) pointer to string @param cnt: (C : int) number of positions to move right @return: moved pointer",
"func":1
},
{
"ref":"ida_lines.generate_disassembly",
"url":27,
"doc":"generate_disassembly(ea, max_lines, as_stack, notags) -> (int, [str,  .]) Generate disassembly lines (many lines) and put them into a buffer @param ea: address to generate disassembly for @param max_lines: how many lines max to generate @param as_stack: Display undefined items as 2/4/8 bytes @param notags: bool @return: - None on failure - tuple(most_important_line_number, list(lines : Returns a tuple containing the most important line number and a list of generated lines",
"func":1
},
{
"ref":"ida_lines.COLOR_ADDR_SIZE",
"url":27,
"doc":"Size of a tagged address (see COLOR_ADDR)"
},
{
"ref":"ida_lines.requires_color_esc",
"url":27,
"doc":"Checks if the given character requires escaping Is the given char a color escape character?",
"func":1
},
{
"ref":"ida_lines.COLSTR",
"url":27,
"doc":"Utility function to create a colored line @param str: The string @param tag: Color tag constant. One of SCOLOR_XXXX",
"func":1
},
{
"ref":"ida_loader",
"url":28,
"doc":"Definitions of IDP, LDR, PLUGIN module interfaces. This file also contains:  functions to load files into the database  functions to generate output files  high level functions to work with the database (open, save, close) The LDR interface consists of one structure: loader_t The IDP interface consists of one structure: processor_t The PLUGIN interface consists of one structure: plugin_t Modules can't use standard FILE functions. They must use functions from  Modules can't use standard memory allocation functions. They must use functions from  The exported entry  1 in the module should point to the the appropriate structure. (loader_t for LDR module, for example)"
},
{
"ref":"ida_loader.qvector_snapshotvec_t",
"url":28,
"doc":"Proxy of C qvector class. __init__(self) -> qvector_snapshotvec_t __init__(self, x) -> qvector_snapshotvec_t @param x: qvector const &"
},
{
"ref":"ida_loader.qvector_snapshotvec_t.thisown",
"url":28,
"doc":"The membership flag"
},
{
"ref":"ida_loader.qvector_snapshotvec_t.push_back",
"url":28,
"doc":"push_back(self, x) @param x: snapshot_t  const & push_back(self) -> snapshot_t  &",
"func":1
},
{
"ref":"ida_loader.qvector_snapshotvec_t.pop_back",
"url":28,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_loader.qvector_snapshotvec_t.size",
"url":28,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_loader.qvector_snapshotvec_t.empty",
"url":28,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_loader.qvector_snapshotvec_t.at",
"url":28,
"doc":"at(self, _idx) -> snapshot_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_loader.qvector_snapshotvec_t.qclear",
"url":28,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_loader.qvector_snapshotvec_t.clear",
"url":28,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_loader.qvector_snapshotvec_t.resize",
"url":28,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: snapshot_t  const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_loader.qvector_snapshotvec_t.capacity",
"url":28,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_loader.qvector_snapshotvec_t.reserve",
"url":28,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_loader.qvector_snapshotvec_t.truncate",
"url":28,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_loader.qvector_snapshotvec_t.swap",
"url":28,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_loader.qvector_snapshotvec_t.extract",
"url":28,
"doc":"extract(self) -> snapshot_t  ",
"func":1
},
{
"ref":"ida_loader.qvector_snapshotvec_t.inject",
"url":28,
"doc":"inject(self, s, len) @param s: snapshot_t  @param len: size_t",
"func":1
},
{
"ref":"ida_loader.qvector_snapshotvec_t.begin",
"url":28,
"doc":"begin(self) -> qvector  iterator begin(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_loader.qvector_snapshotvec_t.end",
"url":28,
"doc":"end(self) -> qvector  iterator end(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_loader.qvector_snapshotvec_t.insert",
"url":28,
"doc":"insert(self, it, x) -> qvector  iterator @param it: qvector  iterator @param x: snapshot_t  const &",
"func":1
},
{
"ref":"ida_loader.qvector_snapshotvec_t.erase",
"url":28,
"doc":"erase(self, it) -> qvector  iterator @param it: qvector  iterator erase(self, first, last) -> qvector  iterator @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_loader.qvector_snapshotvec_t.find",
"url":28,
"doc":"find(self, x) -> qvector  iterator @param x: snapshot_t  const & find(self, x) -> qvector  const_iterator @param x: snapshot_t  const &",
"func":1
},
{
"ref":"ida_loader.qvector_snapshotvec_t.has",
"url":28,
"doc":"has(self, x) -> bool @param x: snapshot_t  const &",
"func":1
},
{
"ref":"ida_loader.qvector_snapshotvec_t.add_unique",
"url":28,
"doc":"add_unique(self, x) -> bool @param x: snapshot_t  const &",
"func":1
},
{
"ref":"ida_loader.qvector_snapshotvec_t.front",
"url":28,
"doc":"",
"func":1
},
{
"ref":"ida_loader.qvector_snapshotvec_t.back",
"url":28,
"doc":"",
"func":1
},
{
"ref":"ida_loader.loader_t",
"url":28,
"doc":"Proxy of C loader_t class. __init__(self) -> loader_t"
},
{
"ref":"ida_loader.loader_t.thisown",
"url":28,
"doc":"The membership flag"
},
{
"ref":"ida_loader.loader_t.version",
"url":28,
"doc":"api version, should be IDP_INTERFACE_VERSION"
},
{
"ref":"ida_loader.loader_t.flags",
"url":28,
"doc":"Loader flags"
},
{
"ref":"ida_loader.LDRF_RELOAD",
"url":28,
"doc":"loader recognizes NEF_RELOAD flag"
},
{
"ref":"ida_loader.LDRF_REQ_PROC",
"url":28,
"doc":"Requires a processor to be set. if this bit is not set, load_file() must call set_processor_type( ., SETPROC_LOADER)"
},
{
"ref":"ida_loader.ACCEPT_ARCHIVE",
"url":28,
"doc":"Specify that a file format is served by archive loader See loader_t accept_file"
},
{
"ref":"ida_loader.ACCEPT_CONTINUE",
"url":28,
"doc":"Specify that the function must be called another time See loader_t accept_file"
},
{
"ref":"ida_loader.ACCEPT_FIRST",
"url":28,
"doc":"Specify that a file format should be place first in \"load file\" dialog box. See loader_t accept_file"
},
{
"ref":"ida_loader.NEF_SEGS",
"url":28,
"doc":"Create segments."
},
{
"ref":"ida_loader.NEF_RSCS",
"url":28,
"doc":"Load resources."
},
{
"ref":"ida_loader.NEF_NAME",
"url":28,
"doc":"Rename entries."
},
{
"ref":"ida_loader.NEF_MAN",
"url":28,
"doc":"Manual load."
},
{
"ref":"ida_loader.NEF_FILL",
"url":28,
"doc":"Fill segment gaps."
},
{
"ref":"ida_loader.NEF_IMPS",
"url":28,
"doc":"Create import segment."
},
{
"ref":"ida_loader.NEF_FIRST",
"url":28,
"doc":"This is the first file loaded into the database."
},
{
"ref":"ida_loader.NEF_CODE",
"url":28,
"doc":"for load_binary_file(): load as a code segment"
},
{
"ref":"ida_loader.NEF_RELOAD",
"url":28,
"doc":"reload the file at the same place:  don't create segments  don't create fixup info  don't import segments  etc. Load only the bytes into the base. A loader should have the LDRF_RELOAD bit set."
},
{
"ref":"ida_loader.NEF_FLAT",
"url":28,
"doc":"Autocreate FLAT group (PE)"
},
{
"ref":"ida_loader.NEF_MINI",
"url":28,
"doc":"Create mini database (do not copy segment bytes from the input file; use only the file header metadata)"
},
{
"ref":"ida_loader.NEF_LOPT",
"url":28,
"doc":"Display additional loader options dialog."
},
{
"ref":"ida_loader.NEF_LALL",
"url":28,
"doc":"Load all segments without questions."
},
{
"ref":"ida_loader.load_binary_file",
"url":28,
"doc":"load_binary_file(filename, li, _neflags, fileoff, basepara, binoff, nbytes) -> bool Load a binary file into the database. This function usually is called from ui. @param filename: (C : const char  ) the name of input file as is (if the input file is from library, then this is the name from the library) @param li: (C : linput_t  ) loader input source @param _neflags: (C : ushort) Load file flags. For the first file, the flag NEF_FIRST must be set. @param fileoff: (C : qoff64_t) Offset in the input file @param basepara: (C : ea_t) Load address in paragraphs @param binoff: (C : ea_t) Load offset (load_address=(basepara 4)+binoff) @param nbytes: (C : uint64) Number of bytes to load from the file.  0: up to the end of the file @retval true: ok @retval false: failed (couldn't open the file)",
"func":1
},
{
"ref":"ida_loader.process_archive",
"url":28,
"doc":"process_archive(temp_file, li, module_name, neflags, defmember, loader) -> str Calls loader_t process_archive() For parameters and return value description look at loader_t process_archive(). Additional parameter 'loader' is a pointer to load_info_t structure. @param temp_file: (C : qstring  ) @param li: (C : linput_t  ) @param module_name: (C : qstring  ) @param neflags: (C : ushort  ) @param defmember: (C : const char  ) char const  @param loader: (C : const load_info_t  ) load_info_t const  ",
"func":1
},
{
"ref":"ida_loader.OFILE_MAP",
"url":28,
"doc":"MAP file."
},
{
"ref":"ida_loader.OFILE_EXE",
"url":28,
"doc":"Executable file."
},
{
"ref":"ida_loader.OFILE_IDC",
"url":28,
"doc":"IDC file."
},
{
"ref":"ida_loader.OFILE_LST",
"url":28,
"doc":"Disassembly listing."
},
{
"ref":"ida_loader.OFILE_ASM",
"url":28,
"doc":"Assembly."
},
{
"ref":"ida_loader.OFILE_DIF",
"url":28,
"doc":"Difference."
},
{
"ref":"ida_loader.gen_file",
"url":28,
"doc":"gen_file(otype, fp, ea1, ea2, flags) -> int Generate an output file. @param otype: (C : ofile_type_t) type of output file. @param fp: (C : FILE  ) the output file handle @param ea1: (C : ea_t) start address. For some file types this argument is ignored @param ea2: (C : ea_t) end address. For some file types this argument is ignored as usual in ida, the end address of the range is not included @param flags: (C : int) Generate file flagsOFILE_EXE: @retval 0: can't generate exe file @retval 1: ok @return: number of the generated lines. -1 if an error occurred",
"func":1
},
{
"ref":"ida_loader.GENFLG_MAPSEG",
"url":28,
"doc":"OFILE_MAP: generate map of segments"
},
{
"ref":"ida_loader.GENFLG_MAPNAME",
"url":28,
"doc":"OFILE_MAP: include dummy names"
},
{
"ref":"ida_loader.GENFLG_MAPDMNG",
"url":28,
"doc":"OFILE_MAP: demangle names"
},
{
"ref":"ida_loader.GENFLG_MAPLOC",
"url":28,
"doc":"OFILE_MAP: include local names"
},
{
"ref":"ida_loader.GENFLG_IDCTYPE",
"url":28,
"doc":"OFILE_IDC: gen only information about types"
},
{
"ref":"ida_loader.GENFLG_ASMTYPE",
"url":28,
"doc":"OFILE_ASM,OFILE_LST: gen information about types too"
},
{
"ref":"ida_loader.GENFLG_GENHTML",
"url":28,
"doc":"OFILE_ASM,OFILE_LST: generate html (ui_genfile_callback will be used)"
},
{
"ref":"ida_loader.GENFLG_ASMINC",
"url":28,
"doc":"OFILE_ASM,OFILE_LST: gen information only about types"
},
{
"ref":"ida_loader.file2base",
"url":28,
"doc":"file2base(li, pos, ea1, ea2, patchable) -> int Load portion of file into the database. This function will include (ea1 ea2) into the addressing space of the program (make it enabled). @param li: (C : linput_t  ) pointer of input source @param pos: (C : qoff64_t) position in the file @param ea1: (C : ea_t) ,ea2: range of destination linear addresses @param patchable: (C : int) should the kernel remember correspondence of file offsets to linear addresses. @retval 1: ok @retval 0: read error, a warning is displayed @note: The storage type of the specified range will be changed to STT_VA. @param patchable: (C : int) should the kernel remember correspondence of file offsets to linear addresses. @retval 1: ok @retval 0: read error, a warning is displayed @note: The storage type of the specified range will be changed to STT_VA.",
"func":1
},
{
"ref":"ida_loader.FILEREG_PATCHABLE",
"url":28,
"doc":"means that the input file may be patched (i.e. no compression, no iterated data, etc)"
},
{
"ref":"ida_loader.FILEREG_NOTPATCHABLE",
"url":28,
"doc":"the data is kept in some encoded form in the file."
},
{
"ref":"ida_loader.base2file",
"url":28,
"doc":"base2file(fp, pos, ea1, ea2) -> int Unload database to a binary file. This function works for wide byte processors too. @param fp: (C : FILE  ) pointer to file @param pos: (C : qoff64_t) position in the file @param ea1: (C : ea_t) ,ea2: range of source linear addresses @param ea2: (C : ea_t) @return: 1-ok(always), write error leads to immediate exit",
"func":1
},
{
"ref":"ida_loader.get_basic_file_type",
"url":28,
"doc":"get_basic_file_type(li) -> filetype_t Get the input file type. This function can recognize libraries and zip files. @param li: (C : linput_t  )",
"func":1
},
{
"ref":"ida_loader.get_file_type_name",
"url":28,
"doc":"get_file_type_name() -> str Get name of the current file type. The current file type is kept in idainfo filetype. @return: size of answer, this function always succeeds",
"func":1
},
{
"ref":"ida_loader.set_import_ordinal",
"url":28,
"doc":"set_import_ordinal(modnode, ea, ord) Set information about the ordinal import entry. This function performs 'modnode.altset(ord, ea2node(ea ;' @param modnode: (C : uval_t) node with information about imported entries @param ea: (C : ea_t) linear address of the entry @param ord: (C : uval_t) ordinal number of the entry",
"func":1
},
{
"ref":"ida_loader.set_import_name",
"url":28,
"doc":"set_import_name(modnode, ea, name) Set information about the named import entry. This function performs 'modnode.supset_ea(ea, name);' @param modnode: (C : uval_t) node with information about imported entries @param ea: (C : ea_t) linear address of the entry @param name: (C : const char  ) name of the entry",
"func":1
},
{
"ref":"ida_loader.load_ids_module",
"url":28,
"doc":"load_ids_module(fname) -> int Load and apply IDS file. This function loads the specified IDS file and applies it to the database. If the program imports functions from a module with the same name as the name of the ids file being loaded, then only functions from this module will be affected. Otherwise (i.e. when the program does not import a module with this name) any function in the program may be affected. @param fname: (C : char  ) name of file to apply @retval 1: ok @retval 0: some error (a message is displayed). if the ids file does not exist, no message is displayed",
"func":1
},
{
"ref":"ida_loader.get_plugin_options",
"url":28,
"doc":"get_plugin_options(plugin) -> char const  Get plugin options from the command line. If the user has specified the options in the -Oplugin_name:options format, them this function will return the 'options' part of it The 'plugin' parameter should denote the plugin name Returns nullptr if there we no options specified @param plugin: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_loader.PLUGIN_DLL",
"url":28,
"doc":"Pattern to find plugin files."
},
{
"ref":"ida_loader.idp_name_t",
"url":28,
"doc":"Proxy of C idp_name_t class. __init__(self) -> idp_name_t"
},
{
"ref":"ida_loader.idp_name_t.thisown",
"url":28,
"doc":"The membership flag"
},
{
"ref":"ida_loader.idp_name_t.lname",
"url":28,
"doc":"long processor name"
},
{
"ref":"ida_loader.idp_name_t.sname",
"url":28,
"doc":"short processor name"
},
{
"ref":"ida_loader.idp_name_t.hidden",
"url":28,
"doc":"is hidden"
},
{
"ref":"ida_loader.idp_desc_t",
"url":28,
"doc":"Proxy of C idp_desc_t class. __init__(self) -> idp_desc_t"
},
{
"ref":"ida_loader.idp_desc_t.thisown",
"url":28,
"doc":"The membership flag"
},
{
"ref":"ida_loader.idp_desc_t.path",
"url":28,
"doc":"module file name"
},
{
"ref":"ida_loader.idp_desc_t.mtime",
"url":28,
"doc":"time of last modification"
},
{
"ref":"ida_loader.idp_desc_t.family",
"url":28,
"doc":"processor's family"
},
{
"ref":"ida_loader.idp_desc_t.names",
"url":28,
"doc":"processor names"
},
{
"ref":"ida_loader.idp_desc_t.is_script",
"url":28,
"doc":"the processor module is a script"
},
{
"ref":"ida_loader.idp_desc_t.checked",
"url":28,
"doc":"internal, for cache management"
},
{
"ref":"ida_loader.plugin_info_t",
"url":28,
"doc":"Proxy of C plugin_info_t class. __init__(self) -> plugin_info_t"
},
{
"ref":"ida_loader.plugin_info_t.thisown",
"url":28,
"doc":"The membership flag"
},
{
"ref":"ida_loader.plugin_info_t.next",
"url":28,
"doc":"next plugin information"
},
{
"ref":"ida_loader.plugin_info_t.path",
"url":28,
"doc":"full path to the plugin"
},
{
"ref":"ida_loader.plugin_info_t.org_name",
"url":28,
"doc":"original short name of the plugin"
},
{
"ref":"ida_loader.plugin_info_t.name",
"url":28,
"doc":"short name of the plugin it will appear in the menu"
},
{
"ref":"ida_loader.plugin_info_t.org_hotkey",
"url":28,
"doc":"original hotkey to run the plugin"
},
{
"ref":"ida_loader.plugin_info_t.hotkey",
"url":28,
"doc":"current hotkey to run the plugin"
},
{
"ref":"ida_loader.plugin_info_t.arg",
"url":28,
"doc":"argument used to call the plugin"
},
{
"ref":"ida_loader.plugin_info_t.entry",
"url":28,
"doc":"pointer to the plugin if it is already loaded"
},
{
"ref":"ida_loader.plugin_info_t.dllmem",
"url":28,
"doc":"dllmem"
},
{
"ref":"ida_loader.plugin_info_t.flags",
"url":28,
"doc":"a copy of plugin_t flags"
},
{
"ref":"ida_loader.plugin_info_t.comment",
"url":28,
"doc":"a copy of plugin_t comment"
},
{
"ref":"ida_loader.plugin_info_t.idaplg_name",
"url":28,
"doc":"\"name\" provided by ida-plugin.json or basename of path (without extension)"
},
{
"ref":"ida_loader.find_plugin",
"url":28,
"doc":"find_plugin(name, load_if_needed=False) -> plugin_t Find a user-defined plugin and optionally load it. @param name: (C : const char  ) short plugin name without path and extension, or absolute path to the file name @param load_if_needed: (C : bool) if the plugin is not present in the memory, try to load it @return: pointer to plugin description block",
"func":1
},
{
"ref":"ida_loader.get_fileregion_offset",
"url":28,
"doc":"get_fileregion_offset(ea) -> qoff64_t Get offset in the input file which corresponds to the given ea. If the specified ea can't be mapped into the input file offset, return -1. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_loader.get_fileregion_ea",
"url":28,
"doc":"get_fileregion_ea(offset) -> ea_t Get linear address which corresponds to the specified input file offset. If can't be found, return BADADDR @param offset: (C : qoff64_t)",
"func":1
},
{
"ref":"ida_loader.gen_exe_file",
"url":28,
"doc":"gen_exe_file(fp) -> int Generate an exe file (unload the database in binary form). @param fp: (C : FILE  ) @return: fp the output file handle. if fp  nullptr then return:  1: can generate an executable file  0: can't generate an executable file @retval 1: ok @retval 0: failed",
"func":1
},
{
"ref":"ida_loader.reload_file",
"url":28,
"doc":"reload_file(file, is_remote) -> bool Reload the input file. This function reloads the byte values from the input file. It doesn't modify the segmentation, names, comments, etc. @param file: (C : const char  ) name of the input file. if file  nullptr then returns:  1: can reload the input file  0: can't reload the input file @param is_remote: (C : bool) is the file located on a remote computer with the debugger server? @return: success",
"func":1
},
{
"ref":"ida_loader.MAX_DATABASE_DESCRIPTION",
"url":28,
"doc":"Maximum database snapshot description length."
},
{
"ref":"ida_loader.snapshot_t",
"url":28,
"doc":"Proxy of C snapshot_t class. __init__(self) -> snapshot_t"
},
{
"ref":"ida_loader.snapshot_t.thisown",
"url":28,
"doc":"The membership flag"
},
{
"ref":"ida_loader.snapshot_t.id",
"url":28,
"doc":"snapshot ID. This value is computed using qgettimeofday()"
},
{
"ref":"ida_loader.snapshot_t.flags",
"url":28,
"doc":"Snapshot flags"
},
{
"ref":"ida_loader.snapshot_t.desc",
"url":28,
"doc":"snapshot description"
},
{
"ref":"ida_loader.snapshot_t.filename",
"url":28,
"doc":"snapshot file name"
},
{
"ref":"ida_loader.snapshot_t.children",
"url":28,
"doc":"snapshot children"
},
{
"ref":"ida_loader.snapshot_t.clear",
"url":28,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_loader.SSF_AUTOMATIC",
"url":28,
"doc":"automatic snapshot"
},
{
"ref":"ida_loader.build_snapshot_tree",
"url":28,
"doc":"build_snapshot_tree(root) -> bool Build the snapshot tree. @param root: (C : snapshot_t  ) snapshot root that will contain the snapshot tree elements. @return: success",
"func":1
},
{
"ref":"ida_loader.SSUF_DESC",
"url":28,
"doc":"Update the description."
},
{
"ref":"ida_loader.SSUF_PATH",
"url":28,
"doc":"Update the path."
},
{
"ref":"ida_loader.SSUF_FLAGS",
"url":28,
"doc":"Update the flags."
},
{
"ref":"ida_loader.flush_buffers",
"url":28,
"doc":"flush_buffers() -> int Flush buffers to the disk.",
"func":1
},
{
"ref":"ida_loader.is_trusted_idb",
"url":28,
"doc":"is_trusted_idb() -> bool Is the database considered as trusted?",
"func":1
},
{
"ref":"ida_loader.save_database",
"url":28,
"doc":"save_database(outfile=None, flags=-1, root=None, attr=None) -> bool Save current database using a new file name. @param outfile: (C : const char  ) output database file name; nullptr means the current path @param flags: (C : uint32) Database flags; -1 means the current flags @param root: (C : const snapshot_t  ) optional: snapshot tree root. @param attr: (C : const snapshot_t  ) optional: snapshot attributes @note: when both root and attr are not nullptr then the snapshot attributes will be updated, otherwise the snapshot attributes will be inherited from the current database. @return: success",
"func":1
},
{
"ref":"ida_loader.DBFL_KILL",
"url":28,
"doc":"delete unpacked database"
},
{
"ref":"ida_loader.DBFL_COMP",
"url":28,
"doc":"collect garbage"
},
{
"ref":"ida_loader.DBFL_BAK",
"url":28,
"doc":"create backup file (if !DBFL_KILL)"
},
{
"ref":"ida_loader.DBFL_TEMP",
"url":28,
"doc":"temporary database"
},
{
"ref":"ida_loader.is_database_flag",
"url":28,
"doc":"is_database_flag(dbfl) -> bool Get the current database flag @param dbfl: (C : uint32) flag Database flags @return: the state of the flag (set or cleared)",
"func":1
},
{
"ref":"ida_loader.set_database_flag",
"url":28,
"doc":"set_database_flag(dbfl, cnd=True) Set or clear database flag @param dbfl: (C : uint32) flag Database flags @param cnd: (C : bool) set if true or clear flag otherwise",
"func":1
},
{
"ref":"ida_loader.clr_database_flag",
"url":28,
"doc":"clr_database_flag(dbfl) @param dbfl: uint32",
"func":1
},
{
"ref":"ida_loader.PATH_TYPE_CMD",
"url":28,
"doc":"full path to the file specified in the command line"
},
{
"ref":"ida_loader.PATH_TYPE_IDB",
"url":28,
"doc":"full path of IDB file"
},
{
"ref":"ida_loader.PATH_TYPE_ID0",
"url":28,
"doc":"full path of ID0 file"
},
{
"ref":"ida_loader.get_path",
"url":28,
"doc":"get_path(pt) -> char const  Get the file path @param pt: (C : path_type_t) file path type Types of the file pathes @return: file path, never returns nullptr",
"func":1
},
{
"ref":"ida_loader.set_path",
"url":28,
"doc":"set_path(pt, path) Set the file path @param pt: (C : path_type_t) file path type Types of the file pathes @param path: (C : const char  ) new file path, use nullptr or empty string to clear the file path",
"func":1
},
{
"ref":"ida_loader.get_elf_debug_file_directory",
"url":28,
"doc":"get_elf_debug_file_directory() -> char const  Get the value of the ELF_DEBUG_FILE_DIRECTORY configuration directive.",
"func":1
},
{
"ref":"ida_loader.mem2base",
"url":28,
"doc":"mem2base(py_mem, ea, fpos=-1) -> int Load database from the memory. @param py_mem: the buffer @param ea: start linear addresses @param fpos: position in the input file the data is taken from. if  -1, then no file position correspond to the data. @return: - Returns zero if the passed buffer was not a string - Otherwise 1 is returned",
"func":1
},
{
"ref":"ida_loader.load_plugin",
"url":28,
"doc":"load_plugin(name) -> PyCapsule or None Loads a plugin @param name: char const  @return: - None if plugin could not be loaded - An opaque object representing the loaded plugin",
"func":1
},
{
"ref":"ida_loader.run_plugin",
"url":28,
"doc":"run_plugin(plg, arg) -> bool Runs a plugin @param plg: A plugin object (returned by load_plugin( @param arg: size_t @return: Boolean",
"func":1
},
{
"ref":"ida_loader.load_and_run_plugin",
"url":28,
"doc":"load_and_run_plugin(name, arg) -> bool Load & run a plugin. @param name: (C : const char  ) char const  @param arg: (C : size_t)",
"func":1
},
{
"ref":"ida_loader.extract_module_from_archive",
"url":28,
"doc":"extract_module_from_archive(fname, is_remote=False) -> PyObject Extract a module for an archive file. Parse an archive file, show the list of modules to the user, allow him to select a module, extract the selected module to a file (if the extract module is an archive, repeat the process). This function can handle ZIP, AR, AIXAR, OMFLIB files. The temporary file will be automatically deleted by IDA at the end. @param filename: (C : char  ) in: input file. out: name of the selected module. @param is_remote: (C : bool) is the input file remote? @retval true: ok @retval false: something bad happened (error message has been displayed to the user)",
"func":1
},
{
"ref":"ida_merge",
"url":29,
"doc":"Merge functionality. NOTE: this functionality is available in IDA Teams (not IDA Pro) There are 3 databases involved in merging: base_idb, local_db, and remote_idb.  base_idb: the common base ancestor of 'local_db' and 'remote_db'. in the UI this database is located in the middle.  local_idb: local database that will contain the result of the merging. in the UI this database is located on the left.  remote_idb: remote database that will merge into local_idb. It may reside locally on the current computer, despite its name. in the UI this database is located on the right. base_idb and remote_idb are opened for reading only. base_idb may be absent, in this case a 2-way merging is performed. Conflicts can be resolved automatically or interactively. The automatic resolving scores the conflicting blocks and takes the better one. The interactive resolving displays the full rendered contents side by side, and expects the user to select the better side for each conflict. Since IDB files contain various kinds of information, there are many merging phases. The entire list can be found in merge.cpp. Below are just some selected examples:  merge global database settings (inf and other global vars)  merge segmentation and changes to the database bytes  merge various lists: exports, imports, loaded tils, etc  merge names, functions, function frames  merge debugger settings, breakpoints  merge struct/enum views  merge local type libraries  merge the disassembly items (i.e. the segment contents) this includes operand types, code/data separation, etc  merge plugin specific info like decompiler types, dwarf mappings, etc To unify UI elements of each merge phase, we use merger views:  A view that consists of 2 or 3 panes: left (local_idb) and right (remote_idb). The common base is in the middle, if present.  Rendering of the panes depends on the phase, different phases show different contents.  The conflicts are highlighted by a colored background. Also, the detail pane can be consulted for additional info.  The user can select a conflict (or a bunch of conflicts) and say \"use this block\".  The user can browse the panes as he wishes. He will not be forced to handle conflicts in any particular order. However, once he finishes working with a merge handler and proceeds to the next one, he cannot go back.  Scrolling the left pane will synchronously scroll the right pane and vice versa.  There are the navigation commands like \"go to the prev/next conflict\"  The number of remaining conflicts to resolve is printed in the \"Progress\" chooser.  The user may manually modify local database inside the merger view. For that he may use the regular hotkeys. However, editing the database may lead to new conflicts, so we better restrict the available actions to some reasonable minimum. Currently, this is not implemented. IDA works in a new \"merge\" mode during merging. In this mode most events are not generated. We forbid them to reduce the risk that a rogue third-party plugin that is not aware of the \"merge\" mode would spoil something. For example, normally renaming a function causes a cascade of events and may lead to other database modifications. Some of them may be desired, some - not. Since there are some undesired events, it is better to stop generating them. However, some events are required to render the disassembly listing. For example, ev_ana_insn, av_out_insn. This is why some events are still generated in the \"merge\" mode. To let processor modules and plugins merge their data, we introduce a new event: ev_create_merge_handlers. It is generated immediately after opening all three idbs. The interested modules should react to this event by creating new merge handlers, if they need them. While the kernel can create arbitrary merge handlers, modules can create only the standard ones returned by: create_nodeval_merge_handler() create_nodeval_merge_handlers() create_std_modmerge_handlers() We do not document merge_handler_t because once a merge handler is created, it is used exclusively by the kernel. See mergemod.hpp for more information about the merge mode for modules."
},
{
"ref":"ida_merge.MERGE_KIND_NETNODE",
"url":29,
"doc":"netnode (no merging, to be used in idbunits)"
},
{
"ref":"ida_merge.MERGE_KIND_AUTOQ",
"url":29,
"doc":"auto queues"
},
{
"ref":"ida_merge.MERGE_KIND_INF",
"url":29,
"doc":"merge the inf variable (global settings)"
},
{
"ref":"ida_merge.MERGE_KIND_ENCODINGS",
"url":29,
"doc":"merge encodings"
},
{
"ref":"ida_merge.MERGE_KIND_ENCODINGS2",
"url":29,
"doc":"merge default encodings"
},
{
"ref":"ida_merge.MERGE_KIND_SCRIPTS2",
"url":29,
"doc":"merge scripts common info"
},
{
"ref":"ida_merge.MERGE_KIND_SCRIPTS",
"url":29,
"doc":"merge scripts"
},
{
"ref":"ida_merge.MERGE_KIND_CUSTDATA",
"url":29,
"doc":"merge custom data type and formats"
},
{
"ref":"ida_merge.MERGE_KIND_ENUMS",
"url":29,
"doc":"merge enums"
},
{
"ref":"ida_merge.MERGE_KIND_STRUCTS",
"url":29,
"doc":"merge structs (globally: add/delete structs entirely)"
},
{
"ref":"ida_merge.MERGE_KIND_TILS",
"url":29,
"doc":"merge type libraries"
},
{
"ref":"ida_merge.MERGE_KIND_TINFO",
"url":29,
"doc":"merge tinfo"
},
{
"ref":"ida_merge.MERGE_KIND_STRMEM",
"url":29,
"doc":"merge struct members"
},
{
"ref":"ida_merge.MERGE_KIND_UDTMEM",
"url":29,
"doc":"merge UDT members (local types)"
},
{
"ref":"ida_merge.MERGE_KIND_GHSTRCMT",
"url":29,
"doc":"merge ghost structure comment"
},
{
"ref":"ida_merge.MERGE_KIND_STRMEMCMT",
"url":29,
"doc":"merge member comments for ghost struc"
},
{
"ref":"ida_merge.MERGE_KIND_SELECTORS",
"url":29,
"doc":"merge selectors"
},
{
"ref":"ida_merge.MERGE_KIND_STT",
"url":29,
"doc":"merge flag storage types"
},
{
"ref":"ida_merge.MERGE_KIND_SEGMENTS",
"url":29,
"doc":"merge segments"
},
{
"ref":"ida_merge.MERGE_KIND_SEGGRPS",
"url":29,
"doc":"merge segment groups"
},
{
"ref":"ida_merge.MERGE_KIND_SEGREGS",
"url":29,
"doc":"merge segment registers"
},
{
"ref":"ida_merge.MERGE_KIND_ORPHANS",
"url":29,
"doc":"merge orphan bytes"
},
{
"ref":"ida_merge.MERGE_KIND_BYTEVAL",
"url":29,
"doc":"merge byte values"
},
{
"ref":"ida_merge.MERGE_KIND_FIXUPS",
"url":29,
"doc":"merge fixups"
},
{
"ref":"ida_merge.MERGE_KIND_MAPPING",
"url":29,
"doc":"merge manual memory mapping"
},
{
"ref":"ida_merge.MERGE_KIND_EXPORTS",
"url":29,
"doc":"merge exports"
},
{
"ref":"ida_merge.MERGE_KIND_IMPORTS",
"url":29,
"doc":"merge imports"
},
{
"ref":"ida_merge.MERGE_KIND_PATCHES",
"url":29,
"doc":"merge patched bytes"
},
{
"ref":"ida_merge.MERGE_KIND_FLAGS",
"url":29,
"doc":"merge flags64_t"
},
{
"ref":"ida_merge.MERGE_KIND_EXTRACMT",
"url":29,
"doc":"merge extra next or prev lines"
},
{
"ref":"ida_merge.MERGE_KIND_AFLAGS_EA",
"url":29,
"doc":"merge aflags for mapped EA"
},
{
"ref":"ida_merge.MERGE_KIND_IGNOREMICRO",
"url":29,
"doc":"IM (\"$ ignore micro\") flags."
},
{
"ref":"ida_merge.MERGE_KIND_FILEREGIONS",
"url":29,
"doc":"merge fileregions"
},
{
"ref":"ida_merge.MERGE_KIND_HIDDENRANGES",
"url":29,
"doc":"merge hidden ranges"
},
{
"ref":"ida_merge.MERGE_KIND_SOURCEFILES",
"url":29,
"doc":"merge source files ranges"
},
{
"ref":"ida_merge.MERGE_KIND_FUNC",
"url":29,
"doc":"merge func info"
},
{
"ref":"ida_merge.MERGE_KIND_FRAMEMGR",
"url":29,
"doc":"merge frames (globally: add/delete frames entirely)"
},
{
"ref":"ida_merge.MERGE_KIND_FRAME",
"url":29,
"doc":"merge function frame info (frame members)"
},
{
"ref":"ida_merge.MERGE_KIND_STKPNTS",
"url":29,
"doc":"merge SP change points"
},
{
"ref":"ida_merge.MERGE_KIND_FLOWS",
"url":29,
"doc":"merge flows"
},
{
"ref":"ida_merge.MERGE_KIND_CREFS",
"url":29,
"doc":"merge crefs"
},
{
"ref":"ida_merge.MERGE_KIND_DREFS",
"url":29,
"doc":"merge drefs"
},
{
"ref":"ida_merge.MERGE_KIND_BPTS",
"url":29,
"doc":"merge breakpoints"
},
{
"ref":"ida_merge.MERGE_KIND_WATCHPOINTS",
"url":29,
"doc":"merge watchpoints"
},
{
"ref":"ida_merge.MERGE_KIND_BOOKMARKS",
"url":29,
"doc":"merge bookmarks"
},
{
"ref":"ida_merge.MERGE_KIND_TRYBLKS",
"url":29,
"doc":"merge try blocks"
},
{
"ref":"ida_merge.MERGE_KIND_DIRTREE",
"url":29,
"doc":"merge std dirtrees"
},
{
"ref":"ida_merge.MERGE_KIND_VFTABLES",
"url":29,
"doc":"merge vftables"
},
{
"ref":"ida_merge.MERGE_KIND_SIGNATURES",
"url":29,
"doc":"signatures"
},
{
"ref":"ida_merge.MERGE_KIND_PROBLEMS",
"url":29,
"doc":"problems"
},
{
"ref":"ida_merge.MERGE_KIND_UI",
"url":29,
"doc":"UI."
},
{
"ref":"ida_merge.MERGE_KIND_DEKSTOPS",
"url":29,
"doc":"dekstops"
},
{
"ref":"ida_merge.MERGE_KIND_NOTEPAD",
"url":29,
"doc":"notepad"
},
{
"ref":"ida_merge.MERGE_KIND_LOADER",
"url":29,
"doc":"loader data"
},
{
"ref":"ida_merge.MERGE_KIND_DEBUGGER",
"url":29,
"doc":"debugger data"
},
{
"ref":"ida_merge.MERGE_KIND_DBG_MEMREGS",
"url":29,
"doc":"manual memory regions (debugger)"
},
{
"ref":"ida_merge.MERGE_KIND_LUMINA",
"url":29,
"doc":"lumina function metadata"
},
{
"ref":"ida_merge.MERGE_KIND_LAST",
"url":29,
"doc":"last predefined merge handler type. please note that there can be more merge handler types, registered by plugins and processor modules."
},
{
"ref":"ida_merge.MERGE_KIND_END",
"url":29,
"doc":"insert to the end of handler list, valid for merge_handler_params_t insert_after"
},
{
"ref":"ida_merge.is_diff_merge_mode",
"url":29,
"doc":"is_diff_merge_mode() -> bool Return TRUE if IDA is running in diff mode (MERGE_POLICY_MDIFF/MERGE_POLICY_VDIFF)",
"func":1
},
{
"ref":"ida_merge.merge_data_t",
"url":29,
"doc":"Proxy of C merge_data_t class."
},
{
"ref":"ida_merge.merge_data_t.thisown",
"url":29,
"doc":"The membership flag"
},
{
"ref":"ida_merge.merge_data_t.dbctx_ids",
"url":29,
"doc":"local, remote, base ids"
},
{
"ref":"ida_merge.merge_data_t.nbases",
"url":29,
"doc":"number of database participating in merge process, maybe 2 or 3"
},
{
"ref":"ida_merge.merge_data_t.ev_handlers",
"url":29,
"doc":"event handlers"
},
{
"ref":"ida_merge.merge_data_t.item_block_locator",
"url":29,
"doc":"item_block_locator"
},
{
"ref":"ida_merge.merge_data_t.last_udt_related_merger",
"url":29,
"doc":"last_udt_related_merger"
},
{
"ref":"ida_merge.merge_data_t.set_dbctx_ids",
"url":29,
"doc":"set_dbctx_ids(self, local, remote, base) @param local: int @param remote: int @param base: int",
"func":1
},
{
"ref":"ida_merge.merge_data_t.local_id",
"url":29,
"doc":"local_id(self) -> int",
"func":1
},
{
"ref":"ida_merge.merge_data_t.remote_id",
"url":29,
"doc":"remote_id(self) -> int",
"func":1
},
{
"ref":"ida_merge.merge_data_t.base_id",
"url":29,
"doc":"base_id(self) -> int",
"func":1
},
{
"ref":"ida_merge.merge_data_t.add_event_handler",
"url":29,
"doc":"add_event_handler(self, handler) @param handler: merge_handler_t  ",
"func":1
},
{
"ref":"ida_merge.merge_data_t.remove_event_handler",
"url":29,
"doc":"remove_event_handler(self, handler) @param handler: merge_handler_t  ",
"func":1
},
{
"ref":"ida_merge.merge_data_t.get_block_head",
"url":29,
"doc":"get_block_head(self, idx, item_head) -> ea_t @param idx: diff_source_idx_t @param item_head: ea_t",
"func":1
},
{
"ref":"ida_merge.merge_data_t.setup_blocks",
"url":29,
"doc":"setup_blocks(self, dst_idx, src_idx, region) -> bool @param dst_idx: diff_source_idx_t @param src_idx: diff_source_idx_t @param region: diff_range_t const &",
"func":1
},
{
"ref":"ida_merge.merge_data_t.has_existing_node",
"url":29,
"doc":"has_existing_node(self, nodename) -> bool check that node exists in any of databases @param nodename: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_merge.merge_data_t.map_privrange_id",
"url":29,
"doc":"map_privrange_id(self, tid, ea, _from, to, strict=True) -> bool map IDs of structures, enumerations and their members @param tid: (C : tid_t  ) item ID in TO database @param ea: (C : ea_t) item ID to find counterpart @param from: (C : diff_source_idx_t) source database index, diff_source_idx_t @param to: (C : diff_source_idx_t) destination database index, diff_source_idx_t @param strict: (C : bool) raise interr if could not map @return: success",
"func":1
},
{
"ref":"ida_merge.merge_data_t.map_tinfo",
"url":29,
"doc":"map_tinfo(self, tif, _from, to, strict=True) -> bool migrate type, replaces type references into FROM database to references into TO database @param tif: (C : tinfo_t  ) type to migrate, will be cleared in case of fail @param from: (C : diff_source_idx_t) source database index, diff_source_idx_t @param to: (C : diff_source_idx_t) destination database index, diff_source_idx_t @param strict: (C : bool) raise interr if could not map @return: success",
"func":1
},
{
"ref":"ida_merge.merge_data_t.compare_merging_tifs",
"url":29,
"doc":"compare_merging_tifs(self, tif1, diffidx1, tif2, diffidx2) -> int compare types from two databases @param tif1: (C : const tinfo_t &) type @param diffidx1: (C : diff_source_idx_t) database index, diff_source_idx_t @param tif2: (C : const tinfo_t &) type @param diffidx2: (C : diff_source_idx_t) database index, diff_source_idx_t @return: -1, 0, 1",
"func":1
},
{
"ref":"ida_merge.item_block_locator_t",
"url":29,
"doc":"Proxy of C merge_data_t item_block_locator_t class. __init__(self) -> item_block_locator_t @param self: PyObject  "
},
{
"ref":"ida_merge.item_block_locator_t.thisown",
"url":29,
"doc":"The membership flag"
},
{
"ref":"ida_merge.item_block_locator_t.get_block_head",
"url":29,
"doc":"get_block_head(self, md, idx, item_head) -> ea_t @param md: merge_data_t & @param idx: diff_source_idx_t @param item_head: ea_t",
"func":1
},
{
"ref":"ida_merge.item_block_locator_t.setup_blocks",
"url":29,
"doc":"setup_blocks(self, md, _from, to, region) -> bool @param md: merge_data_t & @param from: diff_source_idx_t @param to: diff_source_idx_t @param region: diff_range_t const &",
"func":1
},
{
"ref":"ida_merge.merge_handler_params_t",
"url":29,
"doc":"Proxy of C merge_handler_params_t class. __init__(self, _md, _label, _kind, _insert_after, _mh_flags) -> merge_handler_params_t @param _md: merge_data_t & @param _label: qstring const & @param _kind: enum merge_kind_t @param _insert_after: enum merge_kind_t @param _mh_flags: uint32"
},
{
"ref":"ida_merge.merge_handler_params_t.thisown",
"url":29,
"doc":"The membership flag"
},
{
"ref":"ida_merge.merge_handler_params_t.md",
"url":29,
"doc":"md"
},
{
"ref":"ida_merge.merge_handler_params_t.label",
"url":29,
"doc":"label"
},
{
"ref":"ida_merge.merge_handler_params_t.kind",
"url":29,
"doc":"merge handler kind merge_kind_t"
},
{
"ref":"ida_merge.merge_handler_params_t.insert_after",
"url":29,
"doc":"desired position inside 'handlers' merge_kind_t"
},
{
"ref":"ida_merge.merge_handler_params_t.mh_flags",
"url":29,
"doc":"mh_flags"
},
{
"ref":"ida_merge.merge_handler_params_t.ui_has_details",
"url":29,
"doc":"ui_has_details(self, _mh_flags) -> bool Should IDA display the diffpos detail pane? @param _mh_flags: (C : uint32) ui_has_details(self) -> bool",
"func":1
},
{
"ref":"ida_merge.merge_handler_params_t.ui_complex_details",
"url":29,
"doc":"ui_complex_details(self, _mh_flags) -> bool Do not display the diffpos details in the chooser. For example, the MERGE_KIND_SCRIPTS handler puts the script body as the diffpos detail. It would not be great to show them as part of the chooser. @param _mh_flags: (C : uint32) ui_complex_details(self) -> bool",
"func":1
},
{
"ref":"ida_merge.merge_handler_params_t.ui_complex_name",
"url":29,
"doc":"ui_complex_name(self, _mh_flags) -> bool It customary to create long diffpos names having many components that are separated by any 7-bit ASCII character (besides of '\\0'). In this case it is possible to instruct IDA to use this separator to create a multi-column chooser. For example the MERGE_KIND_ENUMS handler has the following diffpos name: enum_1,enum_2 If MH_UI_COMMANAME is specified, IDA will create 2 columns for these names. @param _mh_flags: (C : uint32) ui_complex_name(self) -> bool",
"func":1
},
{
"ref":"ida_merge.merge_handler_params_t.ui_split_char",
"url":29,
"doc":"ui_split_char(self, _mh_flags) -> char @param _mh_flags: uint32 ui_split_char(self) -> char",
"func":1
},
{
"ref":"ida_merge.merge_handler_params_t.ui_split_str",
"url":29,
"doc":"ui_split_str(self, _mh_flags) -> qstring @param _mh_flags: uint32 ui_split_str(self) -> qstring",
"func":1
},
{
"ref":"ida_merge.merge_handler_params_t.ui_dp_shortname",
"url":29,
"doc":"ui_dp_shortname(self, _mh_flags) -> bool The detail pane shows the diffpos details for the current diffpos range as a tree-like view. In this pane the diffpos names are used as tree node names and the diffpos details as their children. Sometimes, for complex diffpos names, the first part of the name looks better than the entire name. For example, the MERGE_KIND_SEGMENTS handler has the following diffpos name:  , , , if MH_UI_DP_SHORTNAME is specified, IDA will use  as a tree node name @param _mh_flags: (C : uint32) ui_dp_shortname(self) -> bool",
"func":1
},
{
"ref":"ida_merge.merge_handler_params_t.ui_linediff",
"url":29,
"doc":"ui_linediff(self, _mh_flags) -> bool In detail pane IDA shows difference between diffpos details. IDA marks added or deleted detail by color. In the modified detail the changes are marked. Use this UI hint if you do not want to show the differences inside detail. @param _mh_flags: (C : uint32) ui_linediff(self) -> bool",
"func":1
},
{
"ref":"ida_merge.merge_handler_params_t.ui_indent",
"url":29,
"doc":"ui_indent(self, _mh_flags) -> bool In the ordinary situation the spaces from the both sides of diffpos name are trimmed. Use this UI hint to preserve the leading spaces. @param _mh_flags: (C : uint32) ui_indent(self) -> bool",
"func":1
},
{
"ref":"ida_merge.MH_LISTEN",
"url":29,
"doc":"merge handler will receive merge events"
},
{
"ref":"ida_merge.MH_TERSE",
"url":29,
"doc":"do not display equal lines in the merge results table"
},
{
"ref":"ida_merge.MH_UI_NODETAILS",
"url":29,
"doc":"ida will not show the diffpos details"
},
{
"ref":"ida_merge.MH_UI_COMPLEX",
"url":29,
"doc":"diffpos details won't be displayed in the diffpos chooser"
},
{
"ref":"ida_merge.MH_UI_DP_NOLINEDIFF",
"url":29,
"doc":"Detail pane: do not show differences inside the line."
},
{
"ref":"ida_merge.MH_UI_DP_SHORTNAME",
"url":29,
"doc":"Detail pane: use the first part of a complex diffpos name as the tree node name."
},
{
"ref":"ida_merge.MH_UI_INDENT",
"url":29,
"doc":"preserve indent for diffpos name in diffpos chooser"
},
{
"ref":"ida_merge.MH_UI_SPLITNAME",
"url":29,
"doc":"ida will split the diffpos name by 7-bit ASCII char to create chooser columns"
},
{
"ref":"ida_merge.MH_UI_CHAR_MASK",
"url":29,
"doc":"7-bit ASCII split character"
},
{
"ref":"ida_merge.MH_UI_COMMANAME",
"url":29,
"doc":"ida will split the diffpos name by ',' to create chooser columns"
},
{
"ref":"ida_merge.MH_UI_COLONNAME",
"url":29,
"doc":"ida will split the diffpos name by ':' to create chooser columns"
},
{
"ref":"ida_merge.moddata_diff_helper_t",
"url":29,
"doc":"Proxy of C moddata_diff_helper_t class. __init__(self, _module_name, _netnode_name, _fields) -> moddata_diff_helper_t @param _module_name: char const  @param _netnode_name: char const  @param _fields: idbattr_info_t const  "
},
{
"ref":"ida_merge.moddata_diff_helper_t.thisown",
"url":29,
"doc":"The membership flag"
},
{
"ref":"ida_merge.moddata_diff_helper_t.module_name",
"url":29,
"doc":"will be used as a prefix for field desc"
},
{
"ref":"ida_merge.moddata_diff_helper_t.netnode_name",
"url":29,
"doc":"name of netnode with module data attributes"
},
{
"ref":"ida_merge.moddata_diff_helper_t.fields",
"url":29,
"doc":"module data attribute descriptions"
},
{
"ref":"ida_merge.moddata_diff_helper_t.nfields",
"url":29,
"doc":"number of descriptions"
},
{
"ref":"ida_merge.moddata_diff_helper_t.additional_mh_flags",
"url":29,
"doc":"additional merge handler flags"
},
{
"ref":"ida_merge.moddata_diff_helper_t.merge_starting",
"url":29,
"doc":"merge_starting(self, arg0, arg1) @param arg0: diff_source_idx_t @param arg1: void  ",
"func":1
},
{
"ref":"ida_merge.moddata_diff_helper_t.merge_ending",
"url":29,
"doc":"merge_ending(self, arg0, arg1) @param arg0: diff_source_idx_t @param arg1: void  ",
"func":1
},
{
"ref":"ida_merge.moddata_diff_helper_t.get_struc_ptr",
"url":29,
"doc":"get_struc_ptr(self, arg0, arg1, arg2) -> void  @param arg0: merge_data_t & @param arg1: diff_source_idx_t @param arg2: idbattr_info_t const &",
"func":1
},
{
"ref":"ida_merge.moddata_diff_helper_t.print_diffpos_details",
"url":29,
"doc":"print_diffpos_details(self, arg0, arg1) @param arg0: qstrvec_t  @param arg1: idbattr_info_t const &",
"func":1
},
{
"ref":"ida_merge.moddata_diff_helper_t.val2str",
"url":29,
"doc":"val2str(self, arg0, arg1, arg2) -> bool @param arg0: qstring  @param arg1: idbattr_info_t const & @param arg2: uint64",
"func":1
},
{
"ref":"ida_merge.moddata_diff_helper_t.str2val",
"url":29,
"doc":"str2val(self, arg0, arg1, arg2) -> bool @param arg0: uint64  @param arg1: idbattr_info_t const & @param arg2: char const  ",
"func":1
},
{
"ref":"ida_merge.NDS_IS_BOOL",
"url":29,
"doc":"boolean value"
},
{
"ref":"ida_merge.NDS_IS_EA",
"url":29,
"doc":"EA value."
},
{
"ref":"ida_merge.NDS_IS_RELATIVE",
"url":29,
"doc":"value is relative to index (stored as delta)"
},
{
"ref":"ida_merge.NDS_IS_STR",
"url":29,
"doc":"string value"
},
{
"ref":"ida_merge.NDS_SUPVAL",
"url":29,
"doc":"stored as netnode supvals (not scalar)"
},
{
"ref":"ida_merge.NDS_BLOB",
"url":29,
"doc":"stored as netnode blobs"
},
{
"ref":"ida_merge.NDS_EV_RANGE",
"url":29,
"doc":"enable default handling of mev_modified_ranges, mev_deleting_segm"
},
{
"ref":"ida_merge.NDS_EV_FUNC",
"url":29,
"doc":"enable default handling of mev_added_func/mev_deleting_func"
},
{
"ref":"ida_merge.NDS_MAP_IDX",
"url":29,
"doc":"apply ea2node() to index ( NETMAP_IDX)"
},
{
"ref":"ida_merge.NDS_MAP_VAL",
"url":29,
"doc":"apply ea2node() to value. Along with NDS_INC it gives effect of NETMAP_VAL, examples: altval_ea : NDS_MAP_IDX charval : NDS_VAL8 charval_ea: NDS_MAP_IDX|NDS_VAL8 eaget : NDS_MAP_IDX|NDS_MAP_VAL|NDS_INC"
},
{
"ref":"ida_merge.NDS_VAL8",
"url":29,
"doc":"use 8-bit values ( NETMAP_V8)"
},
{
"ref":"ida_merge.NDS_INC",
"url":29,
"doc":"stored value is incremented (scalars only)"
},
{
"ref":"ida_merge.NDS_UI_ND",
"url":29,
"doc":"UI: no need to show diffpos detail pane, MH_UI_NODETAILS, make sense if merge_node_helper_t is used"
},
{
"ref":"ida_merge.merge_node_helper_t",
"url":29,
"doc":"Proxy of C merge_node_helper_t class. __init__(self) -> merge_node_helper_t @param self: PyObject  "
},
{
"ref":"ida_merge.merge_node_helper_t.thisown",
"url":29,
"doc":"The membership flag"
},
{
"ref":"ida_merge.merge_node_helper_t.print_entry_name",
"url":29,
"doc":"print_entry_name(self, arg0, arg1, arg2) -> qstring print the name of the specified entry (to be used in print_diffpos_name) @param arg0: uchar @param arg1: nodeidx_t @param arg2: void  ",
"func":1
},
{
"ref":"ida_merge.merge_node_helper_t.print_entry_details",
"url":29,
"doc":"print_entry_details(self, arg0, arg1, arg2, arg3) print the details of the specified entry usually contains multiple lines, one for each attribute or detail. (to be used in print_diffpos_details) @param arg0: qstrvec_t  @param arg1: uchar @param arg2: nodeidx_t @param arg3: void  ",
"func":1
},
{
"ref":"ida_merge.merge_node_helper_t.get_column_headers",
"url":29,
"doc":"get_column_headers(self, arg0, arg1, arg2) get column headers for chooser (to be used in linear_diff_source_t get_column_headers) @param arg0: qstrvec_t  @param arg1: uchar @param arg2: void  ",
"func":1
},
{
"ref":"ida_merge.merge_node_helper_t.is_mergeable",
"url":29,
"doc":"is_mergeable(self, arg0, arg1) -> bool @param filter: check if we should perform merging for given record @param arg1: nodeidx_t",
"func":1
},
{
"ref":"ida_merge.merge_node_helper_t.get_netnode",
"url":29,
"doc":"get_netnode(self) -> netnode return netnode to be used as source. If this function returns BADNODE netnode will be created using netnode name passed to create_nodeval_diff_source",
"func":1
},
{
"ref":"ida_merge.merge_node_helper_t.map_scalar",
"url":29,
"doc":"map_scalar(self, arg0, arg1, arg2, arg3) map scalar/string/buffered value @param arg0: nodeidx_t  @param arg1: void  @param arg2: diff_source_idx_t @param arg3: diff_source_idx_t",
"func":1
},
{
"ref":"ida_merge.merge_node_helper_t.map_string",
"url":29,
"doc":"map_string(self, arg0, arg1, arg2, arg3) @param arg0: qstring  @param arg1: void  @param arg2: diff_source_idx_t @param arg3: diff_source_idx_t",
"func":1
},
{
"ref":"ida_merge.merge_node_helper_t.refresh",
"url":29,
"doc":"refresh(self, arg0, arg1) notify helper that some data was changed in the database and internal structures (e.g. caches) should be refreshed @param arg0: uchar @param arg1: void  ",
"func":1
},
{
"ref":"ida_merge.merge_node_helper_t.append_eavec",
"url":29,
"doc":"append_eavec(s, prefix, eas) can be used by derived classes @param s: (C : qstring  ) @param prefix: (C : const char  ) char const  @param eas: (C : const eavec_t &) eavec_t const &",
"func":1
},
{
"ref":"ida_merge.merge_node_info_t",
"url":29,
"doc":"Proxy of C merge_node_info2_t class. __init__(self, name, tag, nds_flags, node_helper=None) -> merge_node_info_t @param name: char const  @param tag: uchar @param nds_flags: uint32 @param node_helper: merge_node_helper_t  "
},
{
"ref":"ida_merge.merge_node_info_t.thisown",
"url":29,
"doc":"The membership flag"
},
{
"ref":"ida_merge.merge_node_info_t.name",
"url":29,
"doc":"name of the array (label)"
},
{
"ref":"ida_merge.merge_node_info_t.tag",
"url":29,
"doc":"a tag used to access values in the netnode"
},
{
"ref":"ida_merge.merge_node_info_t.nds_flags",
"url":29,
"doc":"node value attributes (a combination of nds_flags_t)"
},
{
"ref":"ida_merge.merge_node_info_t.node_helper",
"url":29,
"doc":"node_helper"
},
{
"ref":"ida_merge.create_nodeval_merge_handler",
"url":29,
"doc":"create_nodeval_merge_handler(mhp, label, nodename, tag, nds_flags, node_helper=None, skip_empty_nodes=True) -> merge_handler_t Create a merge handler for netnode scalar/string values @param mhp: (C : const merge_handler_params_t &) merging parameters @param label: (C : const char  ) handler short name (to be be appended to mhp.label) @param nodename: (C : const char  ) netnode name @param tag: (C : uchar) a tag used to access values in the netnode @param nds_flags: (C : uint32) netnode value attributes (a combination of nds_flags_t) @param node_helper: merge_node_helper_t  @param skip_empty_nodes: (C : bool) do not create handler in case of empty netnode @return: diff source object (normally should be attahced to a merge handler)",
"func":1
},
{
"ref":"ida_merge.create_nodeval_merge_handlers",
"url":29,
"doc":"create_nodeval_merge_handlers(out, mhp, nodename, valdesc, skip_empty_nodes=True) Create a serie of merge handlers for netnode scalar/string values (call create_nodeval_merge_handler() for each member of VALDESC) @param out: (C : merge_handlers_t  ) [out] created handlers will be placed here @param mhp: (C : const merge_handler_params_t &) merging parameters @param nodename: (C : const char  ) netnode name @param valdesc: (C : const merge_node_info_t  ) array of handler descriptions @param skip_empty_nodes: (C : bool) do not create handlers for empty netnodes @return: diff source object (normally should be attahced to a merge handler)",
"func":1
},
{
"ref":"ida_merge.destroy_moddata_merge_handlers",
"url":29,
"doc":"destroy_moddata_merge_handlers(data_id) @param data_id: int",
"func":1
},
{
"ref":"ida_merge.get_ea_diffpos_name",
"url":29,
"doc":"get_ea_diffpos_name(ea) -> str Get nice name for EA diffpos @param ea: (C : ea_t) diffpos @note @see: get_nice_colored_name",
"func":1
},
{
"ref":"ida_mergemod",
"url":30,
"doc":"Merge functionality for modules. NOTE: this functionality is available in IDA Teams (not IDA Pro) This file contains helper classes and convenience functions for module (plugin or processor module) merging. Each module is responsible for merging the data it owns (the module data). At the very beginning, the merging engine generates the ev_create_merge_handlers event. Modules should hook to this event to create merge handlers (mergers) that are responsible for the module data. We assume that each module may have:  its data structure, derived from plugmod_t or procmod_t. we call this structure moddata.  a dedicated netnode (module node), modnode for short. Moddata is registered with the IDA kernel using the set_module_data() function, which returns an integer, moddata_id. moddata_id is used to access the module data structure during merging, so it is mandatory for all modules that support merging. The following sources of mergeable data are supported: 1. Data fields inside moddata 2. Values (scalar or binary, including blobs) stored in the module node 3. Values (scalar or binary, including blobs) stored in arbitrary netnodes 4. Data fields inside an auxiliary structure (provided by a special helper) 5. Indexed arrays of data stored in netnodes Usually the sources  1-4 are handled by a single merger, which can be parameterized using the folowing information:  moddata_id  module name  module node name  array of field descriptors (idbattr_info_t idpopts_info[], see ida.hpp) See plugins/mex1 for an example of such a merger. These parameters are stored in a helper class (moddata_diff_helper_t or derived). The helper class can override the following virtual methods: merge_starting - prepare module data for merging (e.g. load data from idb) merge_ending - opposite to merge_starting (e.g. save merged data to idb) get_struc_ptr - get pointer to the auxiliary structure (to handle source  4); this method will be called only if the fields with the IDI_HLPSTRUC bit are present in the idpopts_info[] array For most plugins, the default implementation of moddata_diff_helper_t or the std_moddata_diff_helper_t helper (presented below) is sufficient. You can find examples of non-standard helpers in plugins/mex2 and plugins/callgraph. The source  5 is handled by a different set of mergers described by an array of merge_node_info_t entries: a merger per entry. A non-trivial example can be found in plugins/mex3 and plugins/ex_merge_ldrdata. A module can use the create_std_modmerge_handlers() function to create necessary merge handlers. Please pay attention to the following arguments: helper - a helper class responsible for access to the internal module data for the sources  1-4. It can be used to prepare a pointer to the internal module structure and load/save data before/after merging (example: plugins/mex2). Im most cases the default helper class moddata_diff_helper_t can be used. merge_node_info - array of descriptions for the source  5. Note that the same module node is used for all array elements. If you need this kind of mergers for other netnodes, you should add them manually using the create_nodeval_merge_handler() function (example: plugins/mex3) See also module/mergecmn.cpp for procmod-specific functions and macros. Glossary: modmerger = module merger moddata = module data moddata_id = module data id"
},
{
"ref":"ida_mergemod.create_std_modmerge_handlers",
"url":30,
"doc":"create_std_modmerge_handlers(mhp, helper, merge_node_info=None) convinience function to create merge handlers for modules/plugins @param mhp: (C : merge_handler_params_t &) @param helper: (C : moddata_diff_helper_t &) @param merge_node_info: (C : const merge_node_info_t  ) merge_node_info2_t const  ",
"func":1
},
{
"ref":"ida_moves",
"url":31,
"doc":""
},
{
"ref":"ida_moves.segm_move_info_vec_t",
"url":31,
"doc":"Proxy of C qvector class. __init__(self) -> segm_move_info_vec_t __init__(self, x) -> segm_move_info_vec_t @param x: qvector const &"
},
{
"ref":"ida_moves.segm_move_info_vec_t.thisown",
"url":31,
"doc":"The membership flag"
},
{
"ref":"ida_moves.segm_move_info_vec_t.push_back",
"url":31,
"doc":"push_back(self, x) @param x: segm_move_info_t const & push_back(self) -> segm_move_info_t",
"func":1
},
{
"ref":"ida_moves.segm_move_info_vec_t.pop_back",
"url":31,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_moves.segm_move_info_vec_t.size",
"url":31,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_moves.segm_move_info_vec_t.empty",
"url":31,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_moves.segm_move_info_vec_t.at",
"url":31,
"doc":"at(self, _idx) -> segm_move_info_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_moves.segm_move_info_vec_t.qclear",
"url":31,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_moves.segm_move_info_vec_t.clear",
"url":31,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_moves.segm_move_info_vec_t.resize",
"url":31,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: segm_move_info_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_moves.segm_move_info_vec_t.grow",
"url":31,
"doc":"grow(self, x=segm_move_info_t( @param x: segm_move_info_t const &",
"func":1
},
{
"ref":"ida_moves.segm_move_info_vec_t.capacity",
"url":31,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_moves.segm_move_info_vec_t.reserve",
"url":31,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_moves.segm_move_info_vec_t.truncate",
"url":31,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_moves.segm_move_info_vec_t.swap",
"url":31,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_moves.segm_move_info_vec_t.extract",
"url":31,
"doc":"extract(self) -> segm_move_info_t",
"func":1
},
{
"ref":"ida_moves.segm_move_info_vec_t.inject",
"url":31,
"doc":"inject(self, s, len) @param s: segm_move_info_t  @param len: size_t",
"func":1
},
{
"ref":"ida_moves.segm_move_info_vec_t.begin",
"url":31,
"doc":"begin(self) -> segm_move_info_t",
"func":1
},
{
"ref":"ida_moves.segm_move_info_vec_t.end",
"url":31,
"doc":"end(self) -> segm_move_info_t",
"func":1
},
{
"ref":"ida_moves.segm_move_info_vec_t.insert",
"url":31,
"doc":"insert(self, it, x) -> segm_move_info_t @param it: qvector  iterator @param x: segm_move_info_t const &",
"func":1
},
{
"ref":"ida_moves.segm_move_info_vec_t.erase",
"url":31,
"doc":"erase(self, it) -> segm_move_info_t @param it: qvector  iterator erase(self, first, last) -> segm_move_info_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_moves.segm_move_info_vec_t.find",
"url":31,
"doc":"find(self, x) -> segm_move_info_t @param x: segm_move_info_t const &",
"func":1
},
{
"ref":"ida_moves.segm_move_info_vec_t.has",
"url":31,
"doc":"has(self, x) -> bool @param x: segm_move_info_t const &",
"func":1
},
{
"ref":"ida_moves.segm_move_info_vec_t.add_unique",
"url":31,
"doc":"add_unique(self, x) -> bool @param x: segm_move_info_t const &",
"func":1
},
{
"ref":"ida_moves.segm_move_info_vec_t.front",
"url":31,
"doc":"",
"func":1
},
{
"ref":"ida_moves.segm_move_info_vec_t.back",
"url":31,
"doc":"",
"func":1
},
{
"ref":"ida_moves.graph_location_info_t",
"url":31,
"doc":"Proxy of C graph_location_info_t class. __init__(self) -> graph_location_info_t"
},
{
"ref":"ida_moves.graph_location_info_t.thisown",
"url":31,
"doc":"The membership flag"
},
{
"ref":"ida_moves.graph_location_info_t.zoom",
"url":31,
"doc":"zoom"
},
{
"ref":"ida_moves.graph_location_info_t.orgx",
"url":31,
"doc":"orgx"
},
{
"ref":"ida_moves.graph_location_info_t.orgy",
"url":31,
"doc":"orgy"
},
{
"ref":"ida_moves.segm_move_info_t",
"url":31,
"doc":"Proxy of C segm_move_info_t class. __init__(self, _from=0, _to=0, _sz=0) -> segm_move_info_t @param _from: ea_t @param _to: ea_t @param _sz: size_t"
},
{
"ref":"ida_moves.segm_move_info_t.thisown",
"url":31,
"doc":"The membership flag"
},
{
"ref":"ida_moves.segm_move_info_t.to",
"url":31,
"doc":"to"
},
{
"ref":"ida_moves.segm_move_info_t.size",
"url":31,
"doc":"size"
},
{
"ref":"ida_moves.segm_move_infos_t",
"url":31,
"doc":"Proxy of C segm_move_infos_t class. __init__(self) -> segm_move_infos_t"
},
{
"ref":"ida_moves.segm_move_infos_t.thisown",
"url":31,
"doc":"The membership flag"
},
{
"ref":"ida_moves.segm_move_infos_t.find",
"url":31,
"doc":"find(self, ea) -> segm_move_info_t @param ea: ea_t",
"func":1
},
{
"ref":"ida_moves.segm_move_infos_t.push_back",
"url":31,
"doc":"push_back(self, x) @param x: segm_move_info_t const & push_back(self) -> segm_move_info_t",
"func":1
},
{
"ref":"ida_moves.segm_move_infos_t.pop_back",
"url":31,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_moves.segm_move_infos_t.size",
"url":31,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_moves.segm_move_infos_t.empty",
"url":31,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_moves.segm_move_infos_t.at",
"url":31,
"doc":"at(self, _idx) -> segm_move_info_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_moves.segm_move_infos_t.qclear",
"url":31,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_moves.segm_move_infos_t.clear",
"url":31,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_moves.segm_move_infos_t.resize",
"url":31,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: segm_move_info_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_moves.segm_move_infos_t.grow",
"url":31,
"doc":"grow(self, x=segm_move_info_t( @param x: segm_move_info_t const &",
"func":1
},
{
"ref":"ida_moves.segm_move_infos_t.capacity",
"url":31,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_moves.segm_move_infos_t.reserve",
"url":31,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_moves.segm_move_infos_t.truncate",
"url":31,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_moves.segm_move_infos_t.swap",
"url":31,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_moves.segm_move_infos_t.extract",
"url":31,
"doc":"extract(self) -> segm_move_info_t",
"func":1
},
{
"ref":"ida_moves.segm_move_infos_t.inject",
"url":31,
"doc":"inject(self, s, len) @param s: segm_move_info_t  @param len: size_t",
"func":1
},
{
"ref":"ida_moves.segm_move_infos_t.begin",
"url":31,
"doc":"begin(self) -> segm_move_info_t",
"func":1
},
{
"ref":"ida_moves.segm_move_infos_t.end",
"url":31,
"doc":"end(self) -> segm_move_info_t",
"func":1
},
{
"ref":"ida_moves.segm_move_infos_t.insert",
"url":31,
"doc":"insert(self, it, x) -> segm_move_info_t @param it: qvector  iterator @param x: segm_move_info_t const &",
"func":1
},
{
"ref":"ida_moves.segm_move_infos_t.erase",
"url":31,
"doc":"erase(self, it) -> segm_move_info_t @param it: qvector  iterator erase(self, first, last) -> segm_move_info_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_moves.segm_move_infos_t.has",
"url":31,
"doc":"has(self, x) -> bool @param x: segm_move_info_t const &",
"func":1
},
{
"ref":"ida_moves.segm_move_infos_t.add_unique",
"url":31,
"doc":"add_unique(self, x) -> bool @param x: segm_move_info_t const &",
"func":1
},
{
"ref":"ida_moves.renderer_info_pos_t",
"url":31,
"doc":"Proxy of C renderer_info_pos_t class. __init__(self) -> renderer_info_pos_t"
},
{
"ref":"ida_moves.renderer_info_pos_t.thisown",
"url":31,
"doc":"The membership flag"
},
{
"ref":"ida_moves.renderer_info_pos_t.node",
"url":31,
"doc":"node"
},
{
"ref":"ida_moves.renderer_info_pos_t.cx",
"url":31,
"doc":"cx"
},
{
"ref":"ida_moves.renderer_info_pos_t.cy",
"url":31,
"doc":"cy"
},
{
"ref":"ida_moves.renderer_info_t",
"url":31,
"doc":"Proxy of C renderer_info_t class. __init__(self) -> renderer_info_t __init__(self, _rtype, cx, cy) -> renderer_info_t @param _rtype: enum tcc_renderer_type_t @param cx: short @param cy: short"
},
{
"ref":"ida_moves.renderer_info_t.thisown",
"url":31,
"doc":"The membership flag"
},
{
"ref":"ida_moves.renderer_info_t.gli",
"url":31,
"doc":"gli"
},
{
"ref":"ida_moves.renderer_info_t.pos",
"url":31,
"doc":"pos"
},
{
"ref":"ida_moves.renderer_info_t.rtype",
"url":31,
"doc":"rtype"
},
{
"ref":"ida_moves.lochist_entry_t",
"url":31,
"doc":"Proxy of C lochist_entry_t class. __init__(self) -> lochist_entry_t __init__(self, p, r) -> lochist_entry_t @param p: place_t const  @param r: renderer_info_t const & __init__(self, other) -> lochist_entry_t @param other: lochist_entry_t const &"
},
{
"ref":"ida_moves.lochist_entry_t.thisown",
"url":31,
"doc":"The membership flag"
},
{
"ref":"ida_moves.lochist_entry_t.rinfo",
"url":31,
"doc":"rinfo"
},
{
"ref":"ida_moves.lochist_entry_t.plce",
"url":31,
"doc":"plce"
},
{
"ref":"ida_moves.lochist_entry_t.renderer_info",
"url":31,
"doc":"renderer_info(self) -> renderer_info_t",
"func":1
},
{
"ref":"ida_moves.lochist_entry_t.place",
"url":31,
"doc":"place(self) -> place_t",
"func":1
},
{
"ref":"ida_moves.lochist_entry_t.set_place",
"url":31,
"doc":"set_place(self, p) @param p: place_t const  ",
"func":1
},
{
"ref":"ida_moves.lochist_entry_t.is_valid",
"url":31,
"doc":"is_valid(self) -> bool",
"func":1
},
{
"ref":"ida_moves.lochist_entry_t.acquire_place",
"url":31,
"doc":"acquire_place(self, in_p) @param in_p: place_t  ",
"func":1
},
{
"ref":"ida_moves.UNHID_SEGM",
"url":31,
"doc":"unhid a segment at 'target'"
},
{
"ref":"ida_moves.UNHID_FUNC",
"url":31,
"doc":"unhid a function at 'target'"
},
{
"ref":"ida_moves.UNHID_RANGE",
"url":31,
"doc":"unhid an range at 'target'"
},
{
"ref":"ida_moves.lochist_t",
"url":31,
"doc":"Proxy of C lochist_t class. __init__(self) -> lochist_t"
},
{
"ref":"ida_moves.lochist_t.thisown",
"url":31,
"doc":"The membership flag"
},
{
"ref":"ida_moves.lochist_t.is_history_enabled",
"url":31,
"doc":"is_history_enabled(self) -> bool",
"func":1
},
{
"ref":"ida_moves.lochist_t.get_place_id",
"url":31,
"doc":"get_place_id(self) -> int",
"func":1
},
{
"ref":"ida_moves.lochist_t.init",
"url":31,
"doc":"init(self, stream_name, _defpos, _ud, _flags) -> bool @param stream_name: char const  @param _defpos: place_t const  @param _ud: void  @param _flags: uint32",
"func":1
},
{
"ref":"ida_moves.lochist_t.netcode",
"url":31,
"doc":"netcode(self) -> nodeidx_t",
"func":1
},
{
"ref":"ida_moves.lochist_t.jump",
"url":31,
"doc":"jump(self, try_to_unhide, e) @param try_to_unhide: bool @param e: lochist_entry_t const &",
"func":1
},
{
"ref":"ida_moves.lochist_t.current_index",
"url":31,
"doc":"current_index(self) -> uint32",
"func":1
},
{
"ref":"ida_moves.lochist_t.seek",
"url":31,
"doc":"seek(self, index, try_to_unhide) -> bool @param index: uint32 @param try_to_unhide: bool",
"func":1
},
{
"ref":"ida_moves.lochist_t.fwd",
"url":31,
"doc":"fwd(self, cnt, try_to_unhide) -> bool @param cnt: uint32 @param try_to_unhide: bool",
"func":1
},
{
"ref":"ida_moves.lochist_t.back",
"url":31,
"doc":"back(self, cnt, try_to_unhide) -> bool @param cnt: uint32 @param try_to_unhide: bool",
"func":1
},
{
"ref":"ida_moves.lochist_t.save",
"url":31,
"doc":"save(self)",
"func":1
},
{
"ref":"ida_moves.lochist_t.clear",
"url":31,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_moves.lochist_t.get_current",
"url":31,
"doc":"get_current(self) -> lochist_entry_t",
"func":1
},
{
"ref":"ida_moves.lochist_t.set_current",
"url":31,
"doc":"set_current(self, e) @param e: lochist_entry_t const &",
"func":1
},
{
"ref":"ida_moves.lochist_t.set",
"url":31,
"doc":"set(self, index, e) @param index: uint32 @param e: lochist_entry_t const &",
"func":1
},
{
"ref":"ida_moves.lochist_t.get",
"url":31,
"doc":"get(self, out, index) -> bool @param out: lochist_entry_t  @param index: uint32",
"func":1
},
{
"ref":"ida_moves.lochist_t.size",
"url":31,
"doc":"size(self) -> uint32",
"func":1
},
{
"ref":"ida_moves.lochist_t.get_template_place",
"url":31,
"doc":"get_template_place(self) -> place_t",
"func":1
},
{
"ref":"ida_moves.bookmarks_t",
"url":31,
"doc":"Proxy of C bookmarks_t class. Build an object suitable for iterating bookmarks associated with the specified widget. Note: all ea_t-based widgets (e.g., \"IDA View- \", \"Pseudocode- \", \"Hex View- \",  .) share a common storage, so bookmarks can be re-used interchangeably between them"
},
{
"ref":"ida_moves.bookmarks_t.thisown",
"url":31,
"doc":"The membership flag"
},
{
"ref":"ida_moves.bookmarks_t.mark",
"url":31,
"doc":"mark(e, index, title, desc, ud) -> uint32 @param e: lochist_entry_t const & @param index: uint32 @param title: char const  @param desc: char const  @param ud: void  ",
"func":1
},
{
"ref":"ida_moves.bookmarks_t.get_desc",
"url":31,
"doc":"get_desc(e, index, ud) -> bool @param e: lochist_entry_t const & @param index: uint32 @param ud: void  ",
"func":1
},
{
"ref":"ida_moves.bookmarks_t.find_index",
"url":31,
"doc":"find_index(e, ud) -> uint32 @param e: lochist_entry_t const & @param ud: void  ",
"func":1
},
{
"ref":"ida_moves.bookmarks_t.size",
"url":31,
"doc":"size(e, ud) -> uint32 @param e: lochist_entry_t const & @param ud: void  ",
"func":1
},
{
"ref":"ida_moves.bookmarks_t.erase",
"url":31,
"doc":"erase(e, index, ud) -> bool @param e: lochist_entry_t const & @param index: uint32 @param ud: void  ",
"func":1
},
{
"ref":"ida_moves.bookmarks_t.get_dirtree_id",
"url":31,
"doc":"get_dirtree_id(e, ud) -> dirtree_id_t @param e: lochist_entry_t const & @param ud: void  ",
"func":1
},
{
"ref":"ida_moves.bookmarks_t.get",
"url":31,
"doc":"get(out, _index, ud) -> PyObject  @param out: lochist_entry_t  @param _index: uint32 @param ud: void  ",
"func":1
},
{
"ref":"ida_moves.bookmarks_t_erase",
"url":31,
"doc":"erase(e, index, ud) -> bool @param e: lochist_entry_t const & @param index: uint32 @param ud: void  ",
"func":1
},
{
"ref":"ida_moves.bookmarks_t_find_index",
"url":31,
"doc":"find_index(e, ud) -> uint32 @param e: lochist_entry_t const & @param ud: void  ",
"func":1
},
{
"ref":"ida_moves.bookmarks_t_get",
"url":31,
"doc":"get(out, _index, ud) -> PyObject  @param out: lochist_entry_t  @param _index: uint32 @param ud: void  ",
"func":1
},
{
"ref":"ida_moves.bookmarks_t_get_desc",
"url":31,
"doc":"get_desc(e, index, ud) -> bool @param e: lochist_entry_t const & @param index: uint32 @param ud: void  ",
"func":1
},
{
"ref":"ida_moves.bookmarks_t_get_dirtree_id",
"url":31,
"doc":"get_dirtree_id(e, ud) -> dirtree_id_t @param e: lochist_entry_t const & @param ud: void  ",
"func":1
},
{
"ref":"ida_moves.bookmarks_t_mark",
"url":31,
"doc":"mark(e, index, title, desc, ud) -> uint32 @param e: lochist_entry_t const & @param index: uint32 @param title: char const  @param desc: char const  @param ud: void  ",
"func":1
},
{
"ref":"ida_moves.bookmarks_t_size",
"url":31,
"doc":"size(e, ud) -> uint32 @param e: lochist_entry_t const & @param ud: void  ",
"func":1
},
{
"ref":"ida_nalt",
"url":32,
"doc":"Definitions of various information kept in netnodes. Each address in the program has a corresponding netnode: netnode(ea). If we have no information about an address, the corresponding netnode is not created. Otherwise we will create a netnode and save information in it. All variable length information (names, comments, offset information, etc) is stored in the netnode. Don't forget that some information is already stored in the flags (bytes.hpp) @warning: Many of the functions in this file are very low level (they are marked as low level functions). Use them only if you can't find higher level function to set/get/del information.netnode."
},
{
"ref":"ida_nalt.custom_data_type_ids_fids_array",
"url":32,
"doc":"Proxy of C wrapped_array_t class. __init__(self, data) -> custom_data_type_ids_fids_array @param data: short (&)[8]"
},
{
"ref":"ida_nalt.custom_data_type_ids_fids_array.thisown",
"url":32,
"doc":"The membership flag"
},
{
"ref":"ida_nalt.custom_data_type_ids_fids_array.data",
"url":32,
"doc":"data"
},
{
"ref":"ida_nalt.custom_data_type_ids_fids_array.bytes",
"url":32,
"doc":"_get_bytes(self) -> bytevec_t"
},
{
"ref":"ida_nalt.strpath_ids_array",
"url":32,
"doc":"Proxy of C wrapped_array_t class. __init__(self, data) -> strpath_ids_array @param data: unsigned long long (&)[32]"
},
{
"ref":"ida_nalt.strpath_ids_array.thisown",
"url":32,
"doc":"The membership flag"
},
{
"ref":"ida_nalt.strpath_ids_array.data",
"url":32,
"doc":"data"
},
{
"ref":"ida_nalt.strpath_ids_array.bytes",
"url":32,
"doc":"_get_bytes(self) -> bytevec_t"
},
{
"ref":"ida_nalt.NALT_SWITCH",
"url":32,
"doc":"switch idiom address (used at jump targets)"
},
{
"ref":"ida_nalt.NALT_STRUCT",
"url":32,
"doc":"struct id"
},
{
"ref":"ida_nalt.NALT_AFLAGS",
"url":32,
"doc":"additional flags for an item"
},
{
"ref":"ida_nalt.NALT_LINNUM",
"url":32,
"doc":"source line number"
},
{
"ref":"ida_nalt.NALT_ABSBASE",
"url":32,
"doc":"absolute segment location"
},
{
"ref":"ida_nalt.NALT_ENUM0",
"url":32,
"doc":"enum id for the first operand"
},
{
"ref":"ida_nalt.NALT_ENUM1",
"url":32,
"doc":"enum id for the second operand"
},
{
"ref":"ida_nalt.NALT_PURGE",
"url":32,
"doc":"number of bytes purged from the stack when a function is called indirectly"
},
{
"ref":"ida_nalt.NALT_STRTYPE",
"url":32,
"doc":"type of string item"
},
{
"ref":"ida_nalt.NALT_ALIGN",
"url":32,
"doc":"alignment value if the item is FF_ALIGN (should by equal to power of 2)"
},
{
"ref":"ida_nalt.NALT_COLOR",
"url":32,
"doc":"instruction/data background color"
},
{
"ref":"ida_nalt.NSUP_CMT",
"url":32,
"doc":"regular comment"
},
{
"ref":"ida_nalt.NSUP_REPCMT",
"url":32,
"doc":"repeatable comment"
},
{
"ref":"ida_nalt.NSUP_FOP1",
"url":32,
"doc":"forced operand 1"
},
{
"ref":"ida_nalt.NSUP_FOP2",
"url":32,
"doc":"forced operand 2"
},
{
"ref":"ida_nalt.NSUP_JINFO",
"url":32,
"doc":"jump table info"
},
{
"ref":"ida_nalt.NSUP_ARRAY",
"url":32,
"doc":"array parameters"
},
{
"ref":"ida_nalt.NSUP_OMFGRP",
"url":32,
"doc":"OMF: group of segments (not used anymore)"
},
{
"ref":"ida_nalt.NSUP_FOP3",
"url":32,
"doc":"forced operand 3"
},
{
"ref":"ida_nalt.NSUP_SWITCH",
"url":32,
"doc":"switch information"
},
{
"ref":"ida_nalt.NSUP_REF0",
"url":32,
"doc":"complex reference information for operand 1"
},
{
"ref":"ida_nalt.NSUP_REF1",
"url":32,
"doc":"complex reference information for operand 2"
},
{
"ref":"ida_nalt.NSUP_REF2",
"url":32,
"doc":"complex reference information for operand 3"
},
{
"ref":"ida_nalt.NSUP_OREF0",
"url":32,
"doc":"outer complex reference information for operand 1"
},
{
"ref":"ida_nalt.NSUP_OREF1",
"url":32,
"doc":"outer complex reference information for operand 2"
},
{
"ref":"ida_nalt.NSUP_OREF2",
"url":32,
"doc":"outer complex reference information for operand 3"
},
{
"ref":"ida_nalt.NSUP_STROFF0",
"url":32,
"doc":"stroff: struct path for the first operand"
},
{
"ref":"ida_nalt.NSUP_STROFF1",
"url":32,
"doc":"stroff: struct path for the second operand"
},
{
"ref":"ida_nalt.NSUP_SEGTRANS",
"url":32,
"doc":"segment translations"
},
{
"ref":"ida_nalt.NSUP_FOP4",
"url":32,
"doc":"forced operand 4"
},
{
"ref":"ida_nalt.NSUP_FOP5",
"url":32,
"doc":"forced operand 5"
},
{
"ref":"ida_nalt.NSUP_FOP6",
"url":32,
"doc":"forced operand 6"
},
{
"ref":"ida_nalt.NSUP_REF3",
"url":32,
"doc":"complex reference information for operand 4"
},
{
"ref":"ida_nalt.NSUP_REF4",
"url":32,
"doc":"complex reference information for operand 5"
},
{
"ref":"ida_nalt.NSUP_REF5",
"url":32,
"doc":"complex reference information for operand 6"
},
{
"ref":"ida_nalt.NSUP_OREF3",
"url":32,
"doc":"outer complex reference information for operand 4"
},
{
"ref":"ida_nalt.NSUP_OREF4",
"url":32,
"doc":"outer complex reference information for operand 5"
},
{
"ref":"ida_nalt.NSUP_OREF5",
"url":32,
"doc":"outer complex reference information for operand 6"
},
{
"ref":"ida_nalt.NSUP_XREFPOS",
"url":32,
"doc":"saved xref address and type in the xrefs window"
},
{
"ref":"ida_nalt.NSUP_CUSTDT",
"url":32,
"doc":"custom data type id"
},
{
"ref":"ida_nalt.NSUP_GROUPS",
"url":32,
"doc":"SEG_GRP: pack_dd encoded list of selectors."
},
{
"ref":"ida_nalt.NSUP_ARGEAS",
"url":32,
"doc":"instructions that initialize call arguments"
},
{
"ref":"ida_nalt.NSUP_FOP7",
"url":32,
"doc":"forced operand 7"
},
{
"ref":"ida_nalt.NSUP_FOP8",
"url":32,
"doc":"forced operand 8"
},
{
"ref":"ida_nalt.NSUP_REF6",
"url":32,
"doc":"complex reference information for operand 7"
},
{
"ref":"ida_nalt.NSUP_REF7",
"url":32,
"doc":"complex reference information for operand 8"
},
{
"ref":"ida_nalt.NSUP_OREF6",
"url":32,
"doc":"outer complex reference information for operand 7"
},
{
"ref":"ida_nalt.NSUP_OREF7",
"url":32,
"doc":"outer complex reference information for operand 8"
},
{
"ref":"ida_nalt.NSUP_EX_FLAGS",
"url":32,
"doc":"Extended flags."
},
{
"ref":"ida_nalt.NSUP_POINTS",
"url":32,
"doc":"SP change points blob (see funcs.cpp). values NSUP_POINTS NSUP_POINTS+0x1000 are reserved"
},
{
"ref":"ida_nalt.NSUP_MANUAL",
"url":32,
"doc":"manual instruction. values NSUP_MANUAL NSUP_MANUAL+0x1000 are reserved"
},
{
"ref":"ida_nalt.NSUP_TYPEINFO",
"url":32,
"doc":"type information. values NSUP_TYPEINFO NSUP_TYPEINFO+0x1000 are reserved"
},
{
"ref":"ida_nalt.NSUP_REGVAR",
"url":32,
"doc":"register variables. values NSUP_REGVAR NSUP_REGVAR+0x1000 are reserved"
},
{
"ref":"ida_nalt.NSUP_LLABEL",
"url":32,
"doc":"local labels. values NSUP_LLABEL NSUP_LLABEL+0x1000 are reserved"
},
{
"ref":"ida_nalt.NSUP_REGARG",
"url":32,
"doc":"register argument type/name descriptions values NSUP_REGARG NSUP_REGARG+0x1000 are reserved"
},
{
"ref":"ida_nalt.NSUP_FTAILS",
"url":32,
"doc":"function tails or tail referers values NSUP_FTAILS NSUP_FTAILS+0x1000 are reserved"
},
{
"ref":"ida_nalt.NSUP_GROUP",
"url":32,
"doc":"graph group information values NSUP_GROUP NSUP_GROUP+0x1000 are reserved"
},
{
"ref":"ida_nalt.NSUP_OPTYPES",
"url":32,
"doc":"operand type information. values NSUP_OPTYPES NSUP_OPTYPES+0x100000 are reserved"
},
{
"ref":"ida_nalt.NSUP_ORIGFMD",
"url":32,
"doc":"function metadata before lumina information was applied values NSUP_ORIGFMD NSUP_ORIGFMD+0x1000 are reserved"
},
{
"ref":"ida_nalt.NSUP_FRAME",
"url":32,
"doc":"function frame type values NSUP_FRAME NSUP_FRAME+0x10000 are reserved"
},
{
"ref":"ida_nalt.NALT_CREF_TO",
"url":32,
"doc":"code xref to, idx: target address"
},
{
"ref":"ida_nalt.NALT_CREF_FROM",
"url":32,
"doc":"code xref from, idx: source address"
},
{
"ref":"ida_nalt.NALT_DREF_TO",
"url":32,
"doc":"data xref to, idx: target address"
},
{
"ref":"ida_nalt.NALT_DREF_FROM",
"url":32,
"doc":"data xref from, idx: source address"
},
{
"ref":"ida_nalt.NSUP_GR_INFO",
"url":32,
"doc":"group node info: color, ea, text"
},
{
"ref":"ida_nalt.NALT_GR_LAYX",
"url":32,
"doc":"group layout ptrs, hash: md5 of 'belongs'"
},
{
"ref":"ida_nalt.NSUP_GR_LAYT",
"url":32,
"doc":"group layouts, idx: layout pointer"
},
{
"ref":"ida_nalt.PATCH_TAG",
"url":32,
"doc":"Patch netnode tag."
},
{
"ref":"ida_nalt.IDB_DESKTOPS_NODE_NAME",
"url":32,
"doc":"hash indexed by desktop name with dekstop netnode"
},
{
"ref":"ida_nalt.IDB_DESKTOPS_TAG",
"url":32,
"doc":"tag to store desktop blob & timestamp"
},
{
"ref":"ida_nalt.ea2node",
"url":32,
"doc":"ea2node(ea) -> nodeidx_t Get netnode for the specified address. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_nalt.node2ea",
"url":32,
"doc":"node2ea(ndx) -> ea_t @param ndx: nodeidx_t",
"func":1
},
{
"ref":"ida_nalt.end_ea2node",
"url":32,
"doc":"end_ea2node(ea) -> nodeidx_t @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.getnode",
"url":32,
"doc":"getnode(ea) -> netnode @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.get_strid",
"url":32,
"doc":"get_strid(ea) -> tid_t @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.AFL_LINNUM",
"url":32,
"doc":"has line number info"
},
{
"ref":"ida_nalt.AFL_USERSP",
"url":32,
"doc":"user-defined SP value"
},
{
"ref":"ida_nalt.AFL_PUBNAM",
"url":32,
"doc":"name is public (inter-file linkage)"
},
{
"ref":"ida_nalt.AFL_WEAKNAM",
"url":32,
"doc":"name is weak"
},
{
"ref":"ida_nalt.AFL_HIDDEN",
"url":32,
"doc":"the item is hidden completely"
},
{
"ref":"ida_nalt.AFL_MANUAL",
"url":32,
"doc":"the instruction/data is specified by the user"
},
{
"ref":"ida_nalt.AFL_NOBRD",
"url":32,
"doc":"the code/data border is hidden"
},
{
"ref":"ida_nalt.AFL_ZSTROFF",
"url":32,
"doc":"display struct field name at 0 offset when displaying an offset. example: offset somestruct.field_0 if this flag is clear, then offset somestruct"
},
{
"ref":"ida_nalt.AFL_BNOT0",
"url":32,
"doc":"the 1st operand is bitwise negated"
},
{
"ref":"ida_nalt.AFL_BNOT1",
"url":32,
"doc":"the 2nd operand is bitwise negated"
},
{
"ref":"ida_nalt.AFL_LIB",
"url":32,
"doc":"item from the standard library. low level flag, is used to set FUNC_LIB of func_t"
},
{
"ref":"ida_nalt.AFL_TI",
"url":32,
"doc":"has typeinfo? (NSUP_TYPEINFO); used only for addresses, not for member_t"
},
{
"ref":"ida_nalt.AFL_TI0",
"url":32,
"doc":"has typeinfo for operand 0? (NSUP_OPTYPES)"
},
{
"ref":"ida_nalt.AFL_TI1",
"url":32,
"doc":"has typeinfo for operand 1? (NSUP_OPTYPES+1)"
},
{
"ref":"ida_nalt.AFL_LNAME",
"url":32,
"doc":"has local name too (FF_NAME should be set)"
},
{
"ref":"ida_nalt.AFL_TILCMT",
"url":32,
"doc":"has type comment? (such a comment may be changed by IDA)"
},
{
"ref":"ida_nalt.AFL_LZERO0",
"url":32,
"doc":"toggle leading zeroes for the 1st operand"
},
{
"ref":"ida_nalt.AFL_LZERO1",
"url":32,
"doc":"toggle leading zeroes for the 2nd operand"
},
{
"ref":"ida_nalt.AFL_COLORED",
"url":32,
"doc":"has user defined instruction color?"
},
{
"ref":"ida_nalt.AFL_TERSESTR",
"url":32,
"doc":"terse structure variable display?"
},
{
"ref":"ida_nalt.AFL_SIGN0",
"url":32,
"doc":"code: toggle sign of the 1st operand"
},
{
"ref":"ida_nalt.AFL_SIGN1",
"url":32,
"doc":"code: toggle sign of the 2nd operand"
},
{
"ref":"ida_nalt.AFL_NORET",
"url":32,
"doc":"for imported function pointers: doesn't return. this flag can also be used for any instruction which halts or finishes the program execution"
},
{
"ref":"ida_nalt.AFL_FIXEDSPD",
"url":32,
"doc":"sp delta value is fixed by analysis. should not be modified by modules"
},
{
"ref":"ida_nalt.AFL_ALIGNFLOW",
"url":32,
"doc":"the previous insn was created for alignment purposes only"
},
{
"ref":"ida_nalt.AFL_USERTI",
"url":32,
"doc":"the type information is definitive. (comes from the user or type library) if not set see AFL_TYPE_GUESSED"
},
{
"ref":"ida_nalt.AFL_RETFP",
"url":32,
"doc":"function returns a floating point value"
},
{
"ref":"ida_nalt.AFL_USEMODSP",
"url":32,
"doc":"insn modifes SP and uses the modified value; example: pop [rsp+N]"
},
{
"ref":"ida_nalt.AFL_NOTCODE",
"url":32,
"doc":"autoanalysis should not create code here"
},
{
"ref":"ida_nalt.AFL_NOTPROC",
"url":32,
"doc":"autoanalysis should not create proc here"
},
{
"ref":"ida_nalt.AFL_TYPE_GUESSED",
"url":32,
"doc":"who guessed the type information?"
},
{
"ref":"ida_nalt.AFL_IDA_GUESSED",
"url":32,
"doc":"the type is guessed by IDA"
},
{
"ref":"ida_nalt.AFL_HR_GUESSED_FUNC",
"url":32,
"doc":"the function type is guessed by the decompiler"
},
{
"ref":"ida_nalt.AFL_HR_GUESSED_DATA",
"url":32,
"doc":"the data type is guessed by the decompiler"
},
{
"ref":"ida_nalt.AFL_HR_DETERMINED",
"url":32,
"doc":"the type is definitely guessed by the decompiler"
},
{
"ref":"ida_nalt.set_aflags",
"url":32,
"doc":"set_aflags(ea, flags) @param ea: ea_t @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.upd_abits",
"url":32,
"doc":"upd_abits(ea, clr_bits, set_bits) @param ea: ea_t @param clr_bits: aflags_t @param set_bits: aflags_t",
"func":1
},
{
"ref":"ida_nalt.set_abits",
"url":32,
"doc":"set_abits(ea, bits) @param ea: ea_t @param bits: aflags_t",
"func":1
},
{
"ref":"ida_nalt.clr_abits",
"url":32,
"doc":"clr_abits(ea, bits) @param ea: ea_t @param bits: aflags_t",
"func":1
},
{
"ref":"ida_nalt.get_aflags",
"url":32,
"doc":"get_aflags(ea) -> aflags_t @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.del_aflags",
"url":32,
"doc":"del_aflags(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.has_aflag_linnum",
"url":32,
"doc":"has_aflag_linnum(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_usersp",
"url":32,
"doc":"is_aflag_usersp(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_public_name",
"url":32,
"doc":"is_aflag_public_name(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_weak_name",
"url":32,
"doc":"is_aflag_weak_name(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_hidden_item",
"url":32,
"doc":"is_aflag_hidden_item(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_manual_insn",
"url":32,
"doc":"is_aflag_manual_insn(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_hidden_border",
"url":32,
"doc":"is_aflag_hidden_border(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_zstroff",
"url":32,
"doc":"is_aflag_zstroff(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag__bnot0",
"url":32,
"doc":"is_aflag__bnot0(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag__bnot1",
"url":32,
"doc":"is_aflag__bnot1(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_libitem",
"url":32,
"doc":"is_aflag_libitem(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.has_aflag_ti",
"url":32,
"doc":"has_aflag_ti(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.has_aflag_ti0",
"url":32,
"doc":"has_aflag_ti0(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.has_aflag_ti1",
"url":32,
"doc":"has_aflag_ti1(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.has_aflag_lname",
"url":32,
"doc":"has_aflag_lname(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_tilcmt",
"url":32,
"doc":"is_aflag_tilcmt(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_lzero0",
"url":32,
"doc":"is_aflag_lzero0(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_lzero1",
"url":32,
"doc":"is_aflag_lzero1(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_colored_item",
"url":32,
"doc":"is_aflag_colored_item(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_terse_struc",
"url":32,
"doc":"is_aflag_terse_struc(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag__invsign0",
"url":32,
"doc":"is_aflag__invsign0(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag__invsign1",
"url":32,
"doc":"is_aflag__invsign1(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_noret",
"url":32,
"doc":"is_aflag_noret(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_fixed_spd",
"url":32,
"doc":"is_aflag_fixed_spd(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_align_flow",
"url":32,
"doc":"is_aflag_align_flow(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_userti",
"url":32,
"doc":"is_aflag_userti(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_retfp",
"url":32,
"doc":"is_aflag_retfp(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.uses_aflag_modsp",
"url":32,
"doc":"uses_aflag_modsp(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_notcode",
"url":32,
"doc":"is_aflag_notcode(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_notproc",
"url":32,
"doc":"is_aflag_notproc(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_type_guessed_by_ida",
"url":32,
"doc":"is_aflag_type_guessed_by_ida(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_func_guessed_by_hexrays",
"url":32,
"doc":"is_aflag_func_guessed_by_hexrays(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_data_guessed_by_hexrays",
"url":32,
"doc":"is_aflag_data_guessed_by_hexrays(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_type_determined_by_hexrays",
"url":32,
"doc":"is_aflag_type_determined_by_hexrays(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_aflag_type_guessed_by_hexrays",
"url":32,
"doc":"is_aflag_type_guessed_by_hexrays(flags) -> bool @param flags: aflags_t",
"func":1
},
{
"ref":"ida_nalt.is_hidden_item",
"url":32,
"doc":"is_hidden_item(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.hide_item",
"url":32,
"doc":"hide_item(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.unhide_item",
"url":32,
"doc":"unhide_item(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is_hidden_border",
"url":32,
"doc":"is_hidden_border(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.hide_border",
"url":32,
"doc":"hide_border(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.unhide_border",
"url":32,
"doc":"unhide_border(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.uses_modsp",
"url":32,
"doc":"uses_modsp(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_usemodsp",
"url":32,
"doc":"set_usemodsp(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.clr_usemodsp",
"url":32,
"doc":"clr_usemodsp(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is_zstroff",
"url":32,
"doc":"is_zstroff(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_zstroff",
"url":32,
"doc":"set_zstroff(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.clr_zstroff",
"url":32,
"doc":"clr_zstroff(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is__bnot0",
"url":32,
"doc":"is__bnot0(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set__bnot0",
"url":32,
"doc":"set__bnot0(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.clr__bnot0",
"url":32,
"doc":"clr__bnot0(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is__bnot1",
"url":32,
"doc":"is__bnot1(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set__bnot1",
"url":32,
"doc":"set__bnot1(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.clr__bnot1",
"url":32,
"doc":"clr__bnot1(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is_libitem",
"url":32,
"doc":"is_libitem(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_libitem",
"url":32,
"doc":"set_libitem(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.clr_libitem",
"url":32,
"doc":"clr_libitem(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.has_ti",
"url":32,
"doc":"has_ti(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_has_ti",
"url":32,
"doc":"set_has_ti(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.clr_has_ti",
"url":32,
"doc":"clr_has_ti(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.has_ti0",
"url":32,
"doc":"has_ti0(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_has_ti0",
"url":32,
"doc":"set_has_ti0(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.clr_has_ti0",
"url":32,
"doc":"clr_has_ti0(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.has_ti1",
"url":32,
"doc":"has_ti1(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_has_ti1",
"url":32,
"doc":"set_has_ti1(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.clr_has_ti1",
"url":32,
"doc":"clr_has_ti1(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.has_lname",
"url":32,
"doc":"has_lname(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_has_lname",
"url":32,
"doc":"set_has_lname(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.clr_has_lname",
"url":32,
"doc":"clr_has_lname(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is_tilcmt",
"url":32,
"doc":"is_tilcmt(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_tilcmt",
"url":32,
"doc":"set_tilcmt(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.clr_tilcmt",
"url":32,
"doc":"clr_tilcmt(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is_usersp",
"url":32,
"doc":"is_usersp(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_usersp",
"url":32,
"doc":"set_usersp(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.clr_usersp",
"url":32,
"doc":"clr_usersp(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is_lzero0",
"url":32,
"doc":"is_lzero0(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_lzero0",
"url":32,
"doc":"set_lzero0(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.clr_lzero0",
"url":32,
"doc":"clr_lzero0(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is_lzero1",
"url":32,
"doc":"is_lzero1(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_lzero1",
"url":32,
"doc":"set_lzero1(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.clr_lzero1",
"url":32,
"doc":"clr_lzero1(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is_colored_item",
"url":32,
"doc":"is_colored_item(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_colored_item",
"url":32,
"doc":"set_colored_item(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.clr_colored_item",
"url":32,
"doc":"clr_colored_item(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is_terse_struc",
"url":32,
"doc":"is_terse_struc(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_terse_struc",
"url":32,
"doc":"set_terse_struc(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.clr_terse_struc",
"url":32,
"doc":"clr_terse_struc(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is__invsign0",
"url":32,
"doc":"is__invsign0(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set__invsign0",
"url":32,
"doc":"set__invsign0(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.clr__invsign0",
"url":32,
"doc":"clr__invsign0(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is__invsign1",
"url":32,
"doc":"is__invsign1(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set__invsign1",
"url":32,
"doc":"set__invsign1(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.clr__invsign1",
"url":32,
"doc":"clr__invsign1(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is_noret",
"url":32,
"doc":"is_noret(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_noret",
"url":32,
"doc":"set_noret(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.clr_noret",
"url":32,
"doc":"clr_noret(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is_fixed_spd",
"url":32,
"doc":"is_fixed_spd(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_fixed_spd",
"url":32,
"doc":"set_fixed_spd(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.clr_fixed_spd",
"url":32,
"doc":"clr_fixed_spd(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is_align_flow",
"url":32,
"doc":"is_align_flow(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_align_flow",
"url":32,
"doc":"set_align_flow(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.clr_align_flow",
"url":32,
"doc":"clr_align_flow(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is_userti",
"url":32,
"doc":"is_userti(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_userti",
"url":32,
"doc":"set_userti(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.clr_userti",
"url":32,
"doc":"clr_userti(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is_retfp",
"url":32,
"doc":"is_retfp(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_retfp",
"url":32,
"doc":"set_retfp(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.clr_retfp",
"url":32,
"doc":"clr_retfp(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is_notproc",
"url":32,
"doc":"is_notproc(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_notproc",
"url":32,
"doc":"set_notproc(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.clr_notproc",
"url":32,
"doc":"clr_notproc(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is_type_guessed_by_ida",
"url":32,
"doc":"is_type_guessed_by_ida(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is_func_guessed_by_hexrays",
"url":32,
"doc":"is_func_guessed_by_hexrays(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is_data_guessed_by_hexrays",
"url":32,
"doc":"is_data_guessed_by_hexrays(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is_type_determined_by_hexrays",
"url":32,
"doc":"is_type_determined_by_hexrays(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is_type_guessed_by_hexrays",
"url":32,
"doc":"is_type_guessed_by_hexrays(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_type_guessed_by_ida",
"url":32,
"doc":"set_type_guessed_by_ida(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_func_guessed_by_hexrays",
"url":32,
"doc":"set_func_guessed_by_hexrays(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_data_guessed_by_hexrays",
"url":32,
"doc":"set_data_guessed_by_hexrays(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_type_determined_by_hexrays",
"url":32,
"doc":"set_type_determined_by_hexrays(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_notcode",
"url":32,
"doc":"set_notcode(ea) Mark address so that it cannot be converted to instruction. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_nalt.clr_notcode",
"url":32,
"doc":"clr_notcode(ea) Clear not-code mark. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_nalt.is_notcode",
"url":32,
"doc":"is_notcode(ea) -> bool Is the address marked as not-code? @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_nalt.set_visible_item",
"url":32,
"doc":"set_visible_item(ea, visible) Change visibility of item at given ea. @param ea: (C : ea_t) @param visible: (C : bool)",
"func":1
},
{
"ref":"ida_nalt.is_visible_item",
"url":32,
"doc":"is_visible_item(ea) -> bool Test visibility of item at given ea. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_nalt.is_finally_visible_item",
"url":32,
"doc":"is_finally_visible_item(ea) -> bool Is instruction visible? @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_nalt.set_source_linnum",
"url":32,
"doc":"set_source_linnum(ea, lnnum) @param ea: ea_t @param lnnum: uval_t",
"func":1
},
{
"ref":"ida_nalt.get_source_linnum",
"url":32,
"doc":"get_source_linnum(ea) -> uval_t @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.del_source_linnum",
"url":32,
"doc":"del_source_linnum(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.get_absbase",
"url":32,
"doc":"get_absbase(ea) -> ea_t @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_absbase",
"url":32,
"doc":"set_absbase(ea, x) @param ea: ea_t @param x: ea_t",
"func":1
},
{
"ref":"ida_nalt.del_absbase",
"url":32,
"doc":"del_absbase(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.get_ind_purged",
"url":32,
"doc":"get_ind_purged(ea) -> ea_t @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.del_ind_purged",
"url":32,
"doc":"del_ind_purged(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.get_str_type",
"url":32,
"doc":"get_str_type(ea) -> uint32 @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_str_type",
"url":32,
"doc":"set_str_type(ea, x) @param ea: ea_t @param x: uint32",
"func":1
},
{
"ref":"ida_nalt.del_str_type",
"url":32,
"doc":"del_str_type(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.STRTYPE_TERMCHR",
"url":32,
"doc":"C-style string."
},
{
"ref":"ida_nalt.STRTYPE_C",
"url":32,
"doc":"Zero-terminated 16bit chars."
},
{
"ref":"ida_nalt.STRTYPE_C_16",
"url":32,
"doc":"Zero-terminated 32bit chars."
},
{
"ref":"ida_nalt.STRTYPE_C_32",
"url":32,
"doc":"Pascal-style, one-byte length prefix."
},
{
"ref":"ida_nalt.STRTYPE_PASCAL",
"url":32,
"doc":"Pascal-style, 16bit chars, one-byte length prefix."
},
{
"ref":"ida_nalt.STRTYPE_PASCAL_16",
"url":32,
"doc":"Pascal-style, 32bit chars, one-byte length prefix."
},
{
"ref":"ida_nalt.STRTYPE_PASCAL_32",
"url":32,
"doc":"Pascal-style, two-byte length prefix."
},
{
"ref":"ida_nalt.STRTYPE_LEN2",
"url":32,
"doc":"Pascal-style, 16bit chars, two-byte length prefix."
},
{
"ref":"ida_nalt.STRTYPE_LEN2_16",
"url":32,
"doc":"Pascal-style, 32bit chars, two-byte length prefix."
},
{
"ref":"ida_nalt.STRTYPE_LEN2_32",
"url":32,
"doc":"Pascal-style, four-byte length prefix."
},
{
"ref":"ida_nalt.STRTYPE_LEN4",
"url":32,
"doc":"Pascal-style, 16bit chars, four-byte length prefix."
},
{
"ref":"ida_nalt.STRTYPE_LEN4_16",
"url":32,
"doc":"Pascal-style, 32bit chars, four-byte length prefix."
},
{
"ref":"ida_nalt.get_str_type_code",
"url":32,
"doc":"get_str_type_code(strtype) -> uchar @param strtype: int32",
"func":1
},
{
"ref":"ida_nalt.get_str_term1",
"url":32,
"doc":"get_str_term1(strtype) -> char @param strtype: int32",
"func":1
},
{
"ref":"ida_nalt.get_str_term2",
"url":32,
"doc":"get_str_term2(strtype) -> char @param strtype: int32",
"func":1
},
{
"ref":"ida_nalt.get_str_encoding_idx",
"url":32,
"doc":"get_str_encoding_idx(strtype) -> uchar Get index of the string encoding for this string. @param strtype: (C : int32)",
"func":1
},
{
"ref":"ida_nalt.set_str_encoding_idx",
"url":32,
"doc":"set_str_encoding_idx(strtype, encoding_idx) -> int32 Set index of the string encoding in the string type. @param strtype: (C : int32) @param encoding_idx: (C : int)",
"func":1
},
{
"ref":"ida_nalt.make_str_type",
"url":32,
"doc":"make_str_type(type_code, encoding_idx, term1=0, term2=0) -> int32 Get string type for a string in the given encoding. @param type_code: (C : uchar) @param encoding_idx: (C : int) @param term1: (C : uchar) @param term2: (C : uchar)",
"func":1
},
{
"ref":"ida_nalt.is_pascal",
"url":32,
"doc":"is_pascal(strtype) -> bool @param strtype: int32",
"func":1
},
{
"ref":"ida_nalt.get_str_type_prefix_length",
"url":32,
"doc":"get_str_type_prefix_length(strtype) -> size_t @param strtype: int32",
"func":1
},
{
"ref":"ida_nalt.STRENC_DEFAULT",
"url":32,
"doc":"use default encoding for this type (see get_default_encoding_idx( "
},
{
"ref":"ida_nalt.STRENC_NONE",
"url":32,
"doc":"force no-conversion encoding"
},
{
"ref":"ida_nalt.get_alignment",
"url":32,
"doc":"get_alignment(ea) -> uint32 @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_alignment",
"url":32,
"doc":"set_alignment(ea, x) @param ea: ea_t @param x: uint32",
"func":1
},
{
"ref":"ida_nalt.del_alignment",
"url":32,
"doc":"del_alignment(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_item_color",
"url":32,
"doc":"set_item_color(ea, color) @param ea: ea_t @param color: bgcolor_t",
"func":1
},
{
"ref":"ida_nalt.get_item_color",
"url":32,
"doc":"get_item_color(ea) -> bgcolor_t @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.del_item_color",
"url":32,
"doc":"del_item_color(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.array_parameters_t",
"url":32,
"doc":"Proxy of C array_parameters_t class. __init__(self, _f=0x00000001, _l=0, _a=-1) -> array_parameters_t @param _f: int32 @param _l: int32 @param _a: int32"
},
{
"ref":"ida_nalt.array_parameters_t.thisown",
"url":32,
"doc":"The membership flag"
},
{
"ref":"ida_nalt.array_parameters_t.flags",
"url":32,
"doc":"flags"
},
{
"ref":"ida_nalt.array_parameters_t.lineitems",
"url":32,
"doc":"number of items on a line"
},
{
"ref":"ida_nalt.array_parameters_t.alignment",
"url":32,
"doc":"-1 - don't align. 0 - align automatically. else item width"
},
{
"ref":"ida_nalt.array_parameters_t.is_default",
"url":32,
"doc":"is_default(self) -> bool",
"func":1
},
{
"ref":"ida_nalt.AP_ALLOWDUPS",
"url":32,
"doc":"use 'dup' construct"
},
{
"ref":"ida_nalt.AP_SIGNED",
"url":32,
"doc":"treats numbers as signed"
},
{
"ref":"ida_nalt.AP_INDEX",
"url":32,
"doc":"display array element indexes as comments"
},
{
"ref":"ida_nalt.AP_ARRAY",
"url":32,
"doc":"create as array (this flag is not stored in database)"
},
{
"ref":"ida_nalt.AP_IDXBASEMASK",
"url":32,
"doc":"mask for number base of the indexes"
},
{
"ref":"ida_nalt.AP_IDXDEC",
"url":32,
"doc":"display indexes in decimal"
},
{
"ref":"ida_nalt.AP_IDXHEX",
"url":32,
"doc":"display indexes in hex"
},
{
"ref":"ida_nalt.AP_IDXOCT",
"url":32,
"doc":"display indexes in octal"
},
{
"ref":"ida_nalt.AP_IDXBIN",
"url":32,
"doc":"display indexes in binary"
},
{
"ref":"ida_nalt.get_array_parameters",
"url":32,
"doc":"get_array_parameters(out, ea) -> ssize_t @param out: array_parameters_t  @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_array_parameters",
"url":32,
"doc":"set_array_parameters(ea, _in) @param ea: ea_t @param in: array_parameters_t const  ",
"func":1
},
{
"ref":"ida_nalt.del_array_parameters",
"url":32,
"doc":"del_array_parameters(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.switch_info_t",
"url":32,
"doc":"Proxy of C switch_info_t class. __init__(self) -> switch_info_t"
},
{
"ref":"ida_nalt.switch_info_t.thisown",
"url":32,
"doc":"The membership flag"
},
{
"ref":"ida_nalt.switch_info_t.flags",
"url":32,
"doc":"Switch info flags"
},
{
"ref":"ida_nalt.switch_info_t.get_shift",
"url":32,
"doc":"get_shift(self) -> int See SWI_SHIFT_MASK. possible answers: 0 3.",
"func":1
},
{
"ref":"ida_nalt.switch_info_t.set_shift",
"url":32,
"doc":"set_shift(self, shift) See SWI_SHIFT_MASK. @param shift: (C : int)",
"func":1
},
{
"ref":"ida_nalt.switch_info_t.get_jtable_element_size",
"url":32,
"doc":"get_jtable_element_size(self) -> int",
"func":1
},
{
"ref":"ida_nalt.switch_info_t.set_jtable_element_size",
"url":32,
"doc":"set_jtable_element_size(self, size) @param size: int",
"func":1
},
{
"ref":"ida_nalt.switch_info_t.get_vtable_element_size",
"url":32,
"doc":"get_vtable_element_size(self) -> int",
"func":1
},
{
"ref":"ida_nalt.switch_info_t.set_vtable_element_size",
"url":32,
"doc":"set_vtable_element_size(self, size) @param size: int",
"func":1
},
{
"ref":"ida_nalt.switch_info_t.has_default",
"url":32,
"doc":"has_default(self) -> bool",
"func":1
},
{
"ref":"ida_nalt.switch_info_t.has_elbase",
"url":32,
"doc":"has_elbase(self) -> bool",
"func":1
},
{
"ref":"ida_nalt.switch_info_t.is_sparse",
"url":32,
"doc":"is_sparse(self) -> bool",
"func":1
},
{
"ref":"ida_nalt.switch_info_t.is_custom",
"url":32,
"doc":"is_custom(self) -> bool",
"func":1
},
{
"ref":"ida_nalt.switch_info_t.is_indirect",
"url":32,
"doc":"is_indirect(self) -> bool",
"func":1
},
{
"ref":"ida_nalt.switch_info_t.is_subtract",
"url":32,
"doc":"is_subtract(self) -> bool",
"func":1
},
{
"ref":"ida_nalt.switch_info_t.is_nolowcase",
"url":32,
"doc":"is_nolowcase(self) -> bool",
"func":1
},
{
"ref":"ida_nalt.switch_info_t.use_std_table",
"url":32,
"doc":"use_std_table(self) -> bool",
"func":1
},
{
"ref":"ida_nalt.switch_info_t.is_user_defined",
"url":32,
"doc":"is_user_defined(self) -> bool",
"func":1
},
{
"ref":"ida_nalt.switch_info_t.ncases",
"url":32,
"doc":"number of cases (excluding default)"
},
{
"ref":"ida_nalt.switch_info_t.jumps",
"url":32,
"doc":"jump table start address"
},
{
"ref":"ida_nalt.switch_info_t.values",
"url":32,
"doc":"values table address (if SWI_SPARSE is set)"
},
{
"ref":"ida_nalt.switch_info_t.lowcase",
"url":32,
"doc":"the lowest value in cases"
},
{
"ref":"ida_nalt.switch_info_t.defjump",
"url":32,
"doc":"default jump address (BADADDR if no default case)"
},
{
"ref":"ida_nalt.switch_info_t.startea",
"url":32,
"doc":"start of the switch idiom"
},
{
"ref":"ida_nalt.switch_info_t.jcases",
"url":32,
"doc":"number of entries in the jump table (SWI_INDIRECT)"
},
{
"ref":"ida_nalt.switch_info_t.ind_lowcase",
"url":32,
"doc":"ind_lowcase"
},
{
"ref":"ida_nalt.switch_info_t.get_lowcase",
"url":32,
"doc":"get_lowcase(self) -> sval_t",
"func":1
},
{
"ref":"ida_nalt.switch_info_t.elbase",
"url":32,
"doc":"element base"
},
{
"ref":"ida_nalt.switch_info_t.regnum",
"url":32,
"doc":"the switch expression as a value of the REGNUM register before the instruction at EXPR_EA. -1 means 'unknown'"
},
{
"ref":"ida_nalt.switch_info_t.regdtype",
"url":32,
"doc":"size of the switch expression register as dtype"
},
{
"ref":"ida_nalt.switch_info_t.get_jtable_size",
"url":32,
"doc":"get_jtable_size(self) -> int",
"func":1
},
{
"ref":"ida_nalt.switch_info_t.set_jtable_size",
"url":32,
"doc":"set_jtable_size(self, size) @param size: int",
"func":1
},
{
"ref":"ida_nalt.switch_info_t.set_elbase",
"url":32,
"doc":"set_elbase(self, base) @param base: ea_t",
"func":1
},
{
"ref":"ida_nalt.switch_info_t.set_expr",
"url":32,
"doc":"set_expr(self, r, dt) @param r: int @param dt: op_dtype_t",
"func":1
},
{
"ref":"ida_nalt.switch_info_t.get_jrange_vrange",
"url":32,
"doc":"get_jrange_vrange(self, jrange=None, vrange=None) -> bool get separate parts of the switch @param jrange: (C : range_t  ) @param vrange: (C : range_t  )",
"func":1
},
{
"ref":"ida_nalt.switch_info_t.custom",
"url":32,
"doc":"information for custom tables (filled and used by modules)"
},
{
"ref":"ida_nalt.switch_info_t.SWITCH_INFO_VERSION",
"url":32,
"doc":""
},
{
"ref":"ida_nalt.switch_info_t.get_version",
"url":32,
"doc":"get_version(self) -> int",
"func":1
},
{
"ref":"ida_nalt.switch_info_t.expr_ea",
"url":32,
"doc":"the address before that the switch expression is in REGNUM. If BADADDR, then the first insn marked as IM_SWITCH after STARTEA is used."
},
{
"ref":"ida_nalt.switch_info_t.marks",
"url":32,
"doc":"the insns marked as IM_SWITCH. They are used to delete the switch."
},
{
"ref":"ida_nalt.switch_info_t.clear",
"url":32,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_nalt.switch_info_t.assign",
"url":32,
"doc":"assign(self, other) @param other: switch_info_t const &",
"func":1
},
{
"ref":"ida_nalt.SWI_SPARSE",
"url":32,
"doc":"sparse switch (value table present), otherwise lowcase present"
},
{
"ref":"ida_nalt.SWI_V32",
"url":32,
"doc":"32-bit values in table"
},
{
"ref":"ida_nalt.SWI_J32",
"url":32,
"doc":"32-bit jump offsets"
},
{
"ref":"ida_nalt.SWI_VSPLIT",
"url":32,
"doc":"value table is split (only for 32-bit values)"
},
{
"ref":"ida_nalt.SWI_USER",
"url":32,
"doc":"user specified switch (starting from version 2)"
},
{
"ref":"ida_nalt.SWI_DEF_IN_TBL",
"url":32,
"doc":"default case is an entry in the jump table. This flag is applicable in 2 cases:  The sparse indirect switch (i.e. a switch with a values table) {jump table size}  {value table size} + 1. The default case entry is the last one in the table (or the first one in the case of an inversed jump table).  The switch with insns in the jump table. The default case entry is before the first entry of the table. See also the find_defjump_from_table() helper function."
},
{
"ref":"ida_nalt.SWI_JMP_INV",
"url":32,
"doc":"jumptable is inversed. (last entry is for first entry in values table)"
},
{
"ref":"ida_nalt.SWI_SHIFT_MASK",
"url":32,
"doc":"use formula (element shift) + elbase to find jump targets"
},
{
"ref":"ida_nalt.SWI_ELBASE",
"url":32,
"doc":"elbase is present (otherwise the base of the switch segment will be used)"
},
{
"ref":"ida_nalt.SWI_JSIZE",
"url":32,
"doc":"jump offset expansion bit"
},
{
"ref":"ida_nalt.SWI_VSIZE",
"url":32,
"doc":"value table element size expansion bit"
},
{
"ref":"ida_nalt.SWI_SEPARATE",
"url":32,
"doc":"create an array of individual elements (otherwise separate items)"
},
{
"ref":"ida_nalt.SWI_SIGNED",
"url":32,
"doc":"jump table entries are signed"
},
{
"ref":"ida_nalt.SWI_CUSTOM",
"url":32,
"doc":"custom jump table. processor_t create_switch_xrefs will be called to create code xrefs for the table. Custom jump table must be created by the module (see also SWI_STDTBL)"
},
{
"ref":"ida_nalt.SWI_INDIRECT",
"url":32,
"doc":"value table elements are used as indexes into the jump table (for sparse switches)"
},
{
"ref":"ida_nalt.SWI_SUBTRACT",
"url":32,
"doc":"table values are subtracted from the elbase instead of being added"
},
{
"ref":"ida_nalt.SWI_HXNOLOWCASE",
"url":32,
"doc":"lowcase value should not be used by the decompiler (internal flag)"
},
{
"ref":"ida_nalt.SWI_STDTBL",
"url":32,
"doc":"custom jump table with standard table formatting. ATM IDA doesn't use SWI_CUSTOM for switches with standard table formatting. So this flag can be considered as obsolete."
},
{
"ref":"ida_nalt.SWI_DEFRET",
"url":32,
"doc":"return in the default case (defjump BADADDR)"
},
{
"ref":"ida_nalt.SWI_SELFREL",
"url":32,
"doc":"jump address is relative to the element not to ELBASE"
},
{
"ref":"ida_nalt.SWI_JMPINSN",
"url":32,
"doc":"jump table entries are insns. For such entries SHIFT has a different meaning. It denotes the number of insns in the entry. For example, 0 - the entry contains the jump to the case, 1 - the entry contains one insn like a 'mov' and jump to the end of case, and so on."
},
{
"ref":"ida_nalt.SWI_VERSION",
"url":32,
"doc":"the structure contains the VERSION member"
},
{
"ref":"ida_nalt.get_switch_info",
"url":32,
"doc":"",
"func":1
},
{
"ref":"ida_nalt.set_switch_info",
"url":32,
"doc":"set_switch_info(ea, _in) @param ea: ea_t @param in: switch_info_t const &",
"func":1
},
{
"ref":"ida_nalt.del_switch_info",
"url":32,
"doc":"del_switch_info(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.get_switch_parent",
"url":32,
"doc":"get_switch_parent(ea) -> ea_t @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_switch_parent",
"url":32,
"doc":"set_switch_parent(ea, x) @param ea: ea_t @param x: ea_t",
"func":1
},
{
"ref":"ida_nalt.del_switch_parent",
"url":32,
"doc":"del_switch_parent(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.custom_data_type_ids_t",
"url":32,
"doc":"Proxy of C custom_data_type_ids_t class. __init__(self) -> custom_data_type_ids_t"
},
{
"ref":"ida_nalt.custom_data_type_ids_t.thisown",
"url":32,
"doc":"The membership flag"
},
{
"ref":"ida_nalt.custom_data_type_ids_t.dtid",
"url":32,
"doc":"data type id"
},
{
"ref":"ida_nalt.custom_data_type_ids_t.fids",
"url":32,
"doc":"data format ids"
},
{
"ref":"ida_nalt.custom_data_type_ids_t.set",
"url":32,
"doc":"set(self, tid) @param tid: tid_t",
"func":1
},
{
"ref":"ida_nalt.custom_data_type_ids_t.get_dtid",
"url":32,
"doc":"get_dtid(self) -> tid_t",
"func":1
},
{
"ref":"ida_nalt.get_custom_data_type_ids",
"url":32,
"doc":"get_custom_data_type_ids(cdis, ea) -> int @param cdis: custom_data_type_ids_t  @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_custom_data_type_ids",
"url":32,
"doc":"set_custom_data_type_ids(ea, cdis) @param ea: ea_t @param cdis: custom_data_type_ids_t const  ",
"func":1
},
{
"ref":"ida_nalt.del_custom_data_type_ids",
"url":32,
"doc":"del_custom_data_type_ids(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.is_reftype_target_optional",
"url":32,
"doc":"is_reftype_target_optional(type) -> bool Can the target be calculated using operand value? @param type: (C : reftype_t)",
"func":1
},
{
"ref":"ida_nalt.get_reftype_by_size",
"url":32,
"doc":"get_reftype_by_size(size) -> reftype_t Get REF_ . constant from size Supported sizes: 1,2,4,8,16 For other sizes returns reftype_t(-1) @param size: (C : size_t)",
"func":1
},
{
"ref":"ida_nalt.refinfo_t",
"url":32,
"doc":"Proxy of C refinfo_t class. __init__(self) -> refinfo_t"
},
{
"ref":"ida_nalt.refinfo_t.thisown",
"url":32,
"doc":"The membership flag"
},
{
"ref":"ida_nalt.refinfo_t.target",
"url":32,
"doc":"reference target (BADADDR-none)"
},
{
"ref":"ida_nalt.refinfo_t.base",
"url":32,
"doc":"base of reference (may be BADADDR)"
},
{
"ref":"ida_nalt.refinfo_t.tdelta",
"url":32,
"doc":"offset from the target"
},
{
"ref":"ida_nalt.refinfo_t.flags",
"url":32,
"doc":"Reference info flags"
},
{
"ref":"ida_nalt.refinfo_t.type",
"url":32,
"doc":"type(self) -> reftype_t",
"func":1
},
{
"ref":"ida_nalt.refinfo_t.is_target_optional",
"url":32,
"doc":"is_target_optional(self) -> bool < is_reftype_target_optional()",
"func":1
},
{
"ref":"ida_nalt.refinfo_t.no_base_xref",
"url":32,
"doc":"no_base_xref(self) -> bool",
"func":1
},
{
"ref":"ida_nalt.refinfo_t.is_pastend",
"url":32,
"doc":"is_pastend(self) -> bool",
"func":1
},
{
"ref":"ida_nalt.refinfo_t.is_rvaoff",
"url":32,
"doc":"is_rvaoff(self) -> bool",
"func":1
},
{
"ref":"ida_nalt.refinfo_t.is_custom",
"url":32,
"doc":"is_custom(self) -> bool",
"func":1
},
{
"ref":"ida_nalt.refinfo_t.is_subtract",
"url":32,
"doc":"is_subtract(self) -> bool",
"func":1
},
{
"ref":"ida_nalt.refinfo_t.is_signed",
"url":32,
"doc":"is_signed(self) -> bool",
"func":1
},
{
"ref":"ida_nalt.refinfo_t.is_no_zeros",
"url":32,
"doc":"is_no_zeros(self) -> bool",
"func":1
},
{
"ref":"ida_nalt.refinfo_t.is_no_ones",
"url":32,
"doc":"is_no_ones(self) -> bool",
"func":1
},
{
"ref":"ida_nalt.refinfo_t.is_selfref",
"url":32,
"doc":"is_selfref(self) -> bool",
"func":1
},
{
"ref":"ida_nalt.refinfo_t.set_type",
"url":32,
"doc":"set_type(self, rt) @param rt: reftype_t",
"func":1
},
{
"ref":"ida_nalt.refinfo_t.init",
"url":32,
"doc":"init(self, reft_and_flags, _base=0, _target=BADADDR, _tdelta=0) @param reft_and_flags: uint32 @param _base: ea_t @param _target: ea_t @param _tdelta: adiff_t",
"func":1
},
{
"ref":"ida_nalt.V695_REF_OFF8",
"url":32,
"doc":"reserved"
},
{
"ref":"ida_nalt.REF_OFF16",
"url":32,
"doc":"16bit full offset"
},
{
"ref":"ida_nalt.REF_OFF32",
"url":32,
"doc":"32bit full offset"
},
{
"ref":"ida_nalt.REF_LOW8",
"url":32,
"doc":"low 8bits of 16bit offset"
},
{
"ref":"ida_nalt.REF_LOW16",
"url":32,
"doc":"low 16bits of 32bit offset"
},
{
"ref":"ida_nalt.REF_HIGH8",
"url":32,
"doc":"high 8bits of 16bit offset"
},
{
"ref":"ida_nalt.REF_HIGH16",
"url":32,
"doc":"high 16bits of 32bit offset"
},
{
"ref":"ida_nalt.V695_REF_VHIGH",
"url":32,
"doc":"obsolete"
},
{
"ref":"ida_nalt.V695_REF_VLOW",
"url":32,
"doc":"obsolete"
},
{
"ref":"ida_nalt.REF_OFF64",
"url":32,
"doc":"64bit full offset"
},
{
"ref":"ida_nalt.REF_OFF8",
"url":32,
"doc":"8bit full offset"
},
{
"ref":"ida_nalt.REFINFO_TYPE",
"url":32,
"doc":"reference type (reftype_t), or custom reference ID if REFINFO_CUSTOM set"
},
{
"ref":"ida_nalt.REFINFO_RVAOFF",
"url":32,
"doc":"based reference (rva); refinfo_t base will be forced to get_imagebase(); such a reference is displayed with the asm_t a_rva keyword"
},
{
"ref":"ida_nalt.REFINFO_PASTEND",
"url":32,
"doc":"reference past an item; it may point to an nonexistent address; do not destroy alignment dirs"
},
{
"ref":"ida_nalt.REFINFO_CUSTOM",
"url":32,
"doc":"a custom reference. see custom_refinfo_handler_t. the id of the custom refinfo is stored under the REFINFO_TYPE mask."
},
{
"ref":"ida_nalt.REFINFO_NOBASE",
"url":32,
"doc":"don't create the base xref; implies that the base can be any value. nb: base xrefs are created only if the offset base points to the middle of a segment"
},
{
"ref":"ida_nalt.REFINFO_SUBTRACT",
"url":32,
"doc":"the reference value is subtracted from the base value instead of (as usual) being added to it"
},
{
"ref":"ida_nalt.REFINFO_SIGNEDOP",
"url":32,
"doc":"the operand value is sign-extended (only supported for REF_OFF8/16/32/64)"
},
{
"ref":"ida_nalt.REFINFO_NO_ZEROS",
"url":32,
"doc":"an opval of 0 will be considered invalid"
},
{
"ref":"ida_nalt.REFINFO_NO_ONES",
"url":32,
"doc":"an opval of ~0 will be considered invalid"
},
{
"ref":"ida_nalt.REFINFO_SELFREF",
"url":32,
"doc":"the self-based reference; refinfo_t base will be forced to the reference address"
},
{
"ref":"ida_nalt.find_custom_refinfo",
"url":32,
"doc":"find_custom_refinfo(name) -> int Get id of a custom refinfo type. @param name: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_nalt.get_custom_refinfo",
"url":32,
"doc":"get_custom_refinfo(crid) -> custom_refinfo_handler_t const  Get definition of a registered custom refinfo type. @param crid: (C : int)",
"func":1
},
{
"ref":"ida_nalt.MAXSTRUCPATH",
"url":32,
"doc":"maximal inclusion depth of unions"
},
{
"ref":"ida_nalt.strpath_t",
"url":32,
"doc":"Proxy of C strpath_t class. __init__(self) -> strpath_t"
},
{
"ref":"ida_nalt.strpath_t.thisown",
"url":32,
"doc":"The membership flag"
},
{
"ref":"ida_nalt.strpath_t.len",
"url":32,
"doc":"len"
},
{
"ref":"ida_nalt.strpath_t.ids",
"url":32,
"doc":"__getIds(self) -> strpath_ids_array"
},
{
"ref":"ida_nalt.strpath_t.delta",
"url":32,
"doc":"delta"
},
{
"ref":"ida_nalt.enum_const_t",
"url":32,
"doc":"Proxy of C enum_const_t class. __init__(self) -> enum_const_t"
},
{
"ref":"ida_nalt.enum_const_t.thisown",
"url":32,
"doc":"The membership flag"
},
{
"ref":"ida_nalt.enum_const_t.tid",
"url":32,
"doc":"tid"
},
{
"ref":"ida_nalt.enum_const_t.serial",
"url":32,
"doc":"serial"
},
{
"ref":"ida_nalt.opinfo_t",
"url":32,
"doc":"Proxy of C opinfo_t class. __init__(self) -> opinfo_t"
},
{
"ref":"ida_nalt.opinfo_t.thisown",
"url":32,
"doc":"The membership flag"
},
{
"ref":"ida_nalt.opinfo_t.ri",
"url":32,
"doc":"for offset members"
},
{
"ref":"ida_nalt.opinfo_t.tid",
"url":32,
"doc":"for struct, etc. members"
},
{
"ref":"ida_nalt.opinfo_t.path",
"url":32,
"doc":"for stroff"
},
{
"ref":"ida_nalt.opinfo_t.strtype",
"url":32,
"doc":"for strings (String type codes)"
},
{
"ref":"ida_nalt.opinfo_t.ec",
"url":32,
"doc":"for enums"
},
{
"ref":"ida_nalt.opinfo_t.cd",
"url":32,
"doc":"for custom data"
},
{
"ref":"ida_nalt.printop_t",
"url":32,
"doc":"Proxy of C printop_t class. __init__(self) -> printop_t"
},
{
"ref":"ida_nalt.printop_t.thisown",
"url":32,
"doc":"The membership flag"
},
{
"ref":"ida_nalt.printop_t.ti",
"url":32,
"doc":"ti"
},
{
"ref":"ida_nalt.printop_t.features",
"url":32,
"doc":"features"
},
{
"ref":"ida_nalt.printop_t.suspop",
"url":32,
"doc":"suspop"
},
{
"ref":"ida_nalt.printop_t.aflags",
"url":32,
"doc":"aflags"
},
{
"ref":"ida_nalt.printop_t.flags",
"url":32,
"doc":"flags"
},
{
"ref":"ida_nalt.printop_t.is_ti_initialized",
"url":32,
"doc":"is_ti_initialized(self) -> bool",
"func":1
},
{
"ref":"ida_nalt.printop_t.set_ti_initialized",
"url":32,
"doc":"set_ti_initialized(self, v=True) @param v: bool",
"func":1
},
{
"ref":"ida_nalt.printop_t.is_aflags_initialized",
"url":32,
"doc":"is_aflags_initialized(self) -> bool",
"func":1
},
{
"ref":"ida_nalt.printop_t.set_aflags_initialized",
"url":32,
"doc":"set_aflags_initialized(self, v=True) @param v: bool",
"func":1
},
{
"ref":"ida_nalt.printop_t.is_f64",
"url":32,
"doc":"is_f64(self) -> bool",
"func":1
},
{
"ref":"ida_nalt.printop_t.get_ti",
"url":32,
"doc":"get_ti(self) -> opinfo_t",
"func":1
},
{
"ref":"ida_nalt.printop_t.is_ti_valid",
"url":32,
"doc":"is_ti_initialized(self) -> bool"
},
{
"ref":"ida_nalt.set_refinfo_ex",
"url":32,
"doc":"set_refinfo_ex(ea, n, ri) -> bool @param ea: ea_t @param n: int @param ri: refinfo_t const  ",
"func":1
},
{
"ref":"ida_nalt.set_refinfo",
"url":32,
"doc":"set_refinfo(ea, n, type, target=BADADDR, base=0, tdelta=0) -> bool @param ea: ea_t @param n: int @param type: reftype_t @param target: ea_t @param base: ea_t @param tdelta: adiff_t",
"func":1
},
{
"ref":"ida_nalt.get_refinfo",
"url":32,
"doc":"get_refinfo(ri, ea, n) -> bool @param ri: refinfo_t  @param ea: ea_t @param n: int",
"func":1
},
{
"ref":"ida_nalt.del_refinfo",
"url":32,
"doc":"del_refinfo(ea, n) -> bool @param ea: ea_t @param n: int",
"func":1
},
{
"ref":"ida_nalt.get_tinfo",
"url":32,
"doc":"get_tinfo(tif, ea) -> bool @param tif: tinfo_t  @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.set_tinfo",
"url":32,
"doc":"set_tinfo(ea, tif) -> bool @param ea: ea_t @param tif: tinfo_t const  ",
"func":1
},
{
"ref":"ida_nalt.del_tinfo",
"url":32,
"doc":"del_tinfo(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_nalt.get_op_tinfo",
"url":32,
"doc":"get_op_tinfo(tif, ea, n) -> bool @param tif: tinfo_t  @param ea: ea_t @param n: int",
"func":1
},
{
"ref":"ida_nalt.set_op_tinfo",
"url":32,
"doc":"set_op_tinfo(ea, n, tif) -> bool @param ea: ea_t @param n: int @param tif: tinfo_t const  ",
"func":1
},
{
"ref":"ida_nalt.del_op_tinfo",
"url":32,
"doc":"del_op_tinfo(ea, n) @param ea: ea_t @param n: int",
"func":1
},
{
"ref":"ida_nalt.RIDX_FILE_FORMAT_NAME",
"url":32,
"doc":"file format name for loader modules"
},
{
"ref":"ida_nalt.RIDX_SELECTORS",
"url":32,
"doc":"2 63 are for selector_t blob (see init_selectors( "
},
{
"ref":"ida_nalt.RIDX_GROUPS",
"url":32,
"doc":"segment group information (see init_groups( "
},
{
"ref":"ida_nalt.RIDX_H_PATH",
"url":32,
"doc":"C header path."
},
{
"ref":"ida_nalt.RIDX_C_MACROS",
"url":32,
"doc":"C predefined macros."
},
{
"ref":"ida_nalt.RIDX_SMALL_IDC_OLD",
"url":32,
"doc":"Instant IDC statements (obsolete)"
},
{
"ref":"ida_nalt.RIDX_NOTEPAD",
"url":32,
"doc":"notepad blob, occupies 1000 indexes (1MB of text)"
},
{
"ref":"ida_nalt.RIDX_INCLUDE",
"url":32,
"doc":"assembler include file name"
},
{
"ref":"ida_nalt.RIDX_SMALL_IDC",
"url":32,
"doc":"Instant IDC statements, blob."
},
{
"ref":"ida_nalt.RIDX_DUALOP_GRAPH",
"url":32,
"doc":"Graph text representation options."
},
{
"ref":"ida_nalt.RIDX_DUALOP_TEXT",
"url":32,
"doc":"Text text representation options."
},
{
"ref":"ida_nalt.RIDX_MD5",
"url":32,
"doc":"MD5 of the input file."
},
{
"ref":"ida_nalt.RIDX_IDA_VERSION",
"url":32,
"doc":"version of ida which created the database"
},
{
"ref":"ida_nalt.RIDX_STR_ENCODINGS",
"url":32,
"doc":"a list of encodings for the program strings"
},
{
"ref":"ida_nalt.RIDX_SRCDBG_PATHS",
"url":32,
"doc":"source debug paths, occupies 20 indexes"
},
{
"ref":"ida_nalt.RIDX_DBG_BINPATHS",
"url":32,
"doc":"unused (20 indexes)"
},
{
"ref":"ida_nalt.RIDX_SHA256",
"url":32,
"doc":"SHA256 of the input file."
},
{
"ref":"ida_nalt.RIDX_ABINAME",
"url":32,
"doc":"ABI name (processor specific)"
},
{
"ref":"ida_nalt.RIDX_ARCHIVE_PATH",
"url":32,
"doc":"archive file path"
},
{
"ref":"ida_nalt.RIDX_PROBLEMS",
"url":32,
"doc":"problem lists"
},
{
"ref":"ida_nalt.RIDX_SRCDBG_UNDESIRED",
"url":32,
"doc":"user-closed source files, occupies 20 indexes"
},
{
"ref":"ida_nalt.get_root_filename",
"url":32,
"doc":"get_root_filename() -> str Get file name only of the input file.",
"func":1
},
{
"ref":"ida_nalt.dbg_get_input_path",
"url":32,
"doc":"dbg_get_input_path() -> str Get debugger input file name/path (see LFLG_DBG_NOPATH)",
"func":1
},
{
"ref":"ida_nalt.get_input_file_path",
"url":32,
"doc":"get_input_file_path() -> str Get full path of the input file.",
"func":1
},
{
"ref":"ida_nalt.set_root_filename",
"url":32,
"doc":"set_root_filename(file) Set full path of the input file. @param file: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_nalt.retrieve_input_file_size",
"url":32,
"doc":"retrieve_input_file_size() -> size_t Get size of input file in bytes.",
"func":1
},
{
"ref":"ida_nalt.retrieve_input_file_crc32",
"url":32,
"doc":"retrieve_input_file_crc32() -> uint32 Get input file crc32 stored in the database. it can be used to check that the input file has not been changed.",
"func":1
},
{
"ref":"ida_nalt.retrieve_input_file_md5",
"url":32,
"doc":"retrieve_input_file_md5() -> bytes Get input file md5.",
"func":1
},
{
"ref":"ida_nalt.retrieve_input_file_sha256",
"url":32,
"doc":"retrieve_input_file_sha256() -> bytes Get input file sha256.",
"func":1
},
{
"ref":"ida_nalt.get_asm_inc_file",
"url":32,
"doc":"get_asm_inc_file() -> str Get name of the include file.",
"func":1
},
{
"ref":"ida_nalt.set_asm_inc_file",
"url":32,
"doc":"set_asm_inc_file(file) -> bool Set name of the include file. @param file: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_nalt.get_imagebase",
"url":32,
"doc":"get_imagebase() -> ea_t Get image base address.",
"func":1
},
{
"ref":"ida_nalt.set_imagebase",
"url":32,
"doc":"set_imagebase(base) Set image base address. @param base: (C : ea_t)",
"func":1
},
{
"ref":"ida_nalt.get_ids_modnode",
"url":32,
"doc":"get_ids_modnode() -> netnode Get ids modnode.",
"func":1
},
{
"ref":"ida_nalt.set_ids_modnode",
"url":32,
"doc":"set_ids_modnode(id) Set ids modnode. @param id: (C : netnode)",
"func":1
},
{
"ref":"ida_nalt.get_archive_path",
"url":32,
"doc":"get_archive_path() -> str Get archive file path from which input file was extracted.",
"func":1
},
{
"ref":"ida_nalt.set_archive_path",
"url":32,
"doc":"set_archive_path(file) -> bool Set archive file path from which input file was extracted. @param file: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_nalt.get_loader_format_name",
"url":32,
"doc":"get_loader_format_name() -> str Get file format name for loader modules.",
"func":1
},
{
"ref":"ida_nalt.set_loader_format_name",
"url":32,
"doc":"set_loader_format_name(name) Set file format name for loader modules. @param name: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_nalt.get_initial_ida_version",
"url":32,
"doc":"get_initial_ida_version() -> str Get version of ida which created the database (string format like \"7.5\")",
"func":1
},
{
"ref":"ida_nalt.get_ida_notepad_text",
"url":32,
"doc":"get_ida_notepad_text() -> str Get notepad text.",
"func":1
},
{
"ref":"ida_nalt.set_ida_notepad_text",
"url":32,
"doc":"set_ida_notepad_text(text, size=0) Set notepad text. @param text: (C : const char  ) char const  @param size: (C : size_t)",
"func":1
},
{
"ref":"ida_nalt.get_srcdbg_paths",
"url":32,
"doc":"get_srcdbg_paths() -> str Get source debug paths.",
"func":1
},
{
"ref":"ida_nalt.set_srcdbg_paths",
"url":32,
"doc":"set_srcdbg_paths(paths) Set source debug paths. @param paths: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_nalt.get_srcdbg_undesired_paths",
"url":32,
"doc":"get_srcdbg_undesired_paths() -> str Get user-closed source files.",
"func":1
},
{
"ref":"ida_nalt.set_srcdbg_undesired_paths",
"url":32,
"doc":"set_srcdbg_undesired_paths(paths) Set user-closed source files. @param paths: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_nalt.get_initial_idb_version",
"url":32,
"doc":"get_initial_idb_version() -> ushort Get initial version of the database (numeric format like 700)",
"func":1
},
{
"ref":"ida_nalt.get_idb_ctime",
"url":32,
"doc":"get_idb_ctime() -> time_t Get database creation timestamp.",
"func":1
},
{
"ref":"ida_nalt.get_elapsed_secs",
"url":32,
"doc":"get_elapsed_secs() -> size_t Get seconds database stayed open.",
"func":1
},
{
"ref":"ida_nalt.get_idb_nopens",
"url":32,
"doc":"get_idb_nopens() -> size_t Get number of times the database is opened.",
"func":1
},
{
"ref":"ida_nalt.get_encoding_qty",
"url":32,
"doc":"get_encoding_qty() -> int Get total number of encodings (counted from 0)",
"func":1
},
{
"ref":"ida_nalt.get_encoding_name",
"url":32,
"doc":"get_encoding_name(idx) -> char const  Get encoding name for specific index (1-based). @param idx: (C : int) the encoding index (1-based) @retval nullptr: if IDX is out of bounds @retval empty: string if the encoding was deleted",
"func":1
},
{
"ref":"ida_nalt.add_encoding",
"url":32,
"doc":"add_encoding(encname) -> int Add a new encoding (e.g. \"UTF-8\"). If it's already in the list, return its index. @param encname: (C : const char  ) the encoding name @return: its index (1-based); -1 means error",
"func":1
},
{
"ref":"ida_nalt.del_encoding",
"url":32,
"doc":"del_encoding(idx) -> bool Delete an encoding The encoding is not actually removed because its index may be used in strtype. So the deletion just clears the encoding name. The default encoding cannot be deleted. @param idx: (C : int) the encoding index (1-based)",
"func":1
},
{
"ref":"ida_nalt.rename_encoding",
"url":32,
"doc":"rename_encoding(idx, encname) -> bool Change name for an encoding The number of bytes per unit (BPU) of the new encoding must match this number of the existing default encoding. Specifying the empty name simply deletes this encoding. @param idx: (C : int) the encoding index (1-based) @param encname: (C : const char  ) the new encoding name",
"func":1
},
{
"ref":"ida_nalt.get_encoding_bpu",
"url":32,
"doc":"get_encoding_bpu(idx) -> int Get the amount of bytes per unit (e.g., 2 for UTF-16, 4 for UTF-32) for the encoding with the given index. @param idx: (C : int) the encoding index (1-based) @return: the number of bytes per units (1/2/4); -1 means error",
"func":1
},
{
"ref":"ida_nalt.get_encoding_bpu_by_name",
"url":32,
"doc":"get_encoding_bpu_by_name(encname) -> int Get the amount of bytes per unit for the given encoding @param encname: (C : const char  ) the encoding name @return: the number of bytes per units (1/2/4); -1 means error",
"func":1
},
{
"ref":"ida_nalt.get_strtype_bpu",
"url":32,
"doc":"get_strtype_bpu(strtype) -> int @param strtype: int32",
"func":1
},
{
"ref":"ida_nalt.get_default_encoding_idx",
"url":32,
"doc":"get_default_encoding_idx(bpu) -> int Get default encoding index for a specific string type. @param bpu: (C : int) the amount of bytes per unit (e.g., 1 for ASCII, CP1252, UTF-8 ., 2 for UTF-16, 4 for UTF-32) @retval 0: bad BPU argument",
"func":1
},
{
"ref":"ida_nalt.set_default_encoding_idx",
"url":32,
"doc":"set_default_encoding_idx(bpu, idx) -> bool Set default encoding for a string type @param bpu: (C : int) the amount of bytes per unit @param idx: (C : int) the encoding index. It cannot be 0",
"func":1
},
{
"ref":"ida_nalt.encoding_from_strtype",
"url":32,
"doc":"encoding_from_strtype(strtype) -> char const  Get encoding name for this strtype @retval nullptr: if STRTYPE has an incorrect encoding index @retval empty: string if the encoding was deleted @param strtype: (C : int32)",
"func":1
},
{
"ref":"ida_nalt.get_outfile_encoding_idx",
"url":32,
"doc":"get_outfile_encoding_idx() -> int Get the index of the encoding used when producing files @retval 0: the IDB's default 1 byte-per-unit encoding is used",
"func":1
},
{
"ref":"ida_nalt.set_outfile_encoding_idx",
"url":32,
"doc":"set_outfile_encoding_idx(idx) -> bool set encoding to be used when producing files @param idx: (C : int) the encoding index IDX can be 0 to use the IDB's default 1-byte-per- unit encoding",
"func":1
},
{
"ref":"ida_nalt.get_import_module_qty",
"url":32,
"doc":"get_import_module_qty() -> uint Get number of import modules.",
"func":1
},
{
"ref":"ida_nalt.delete_imports",
"url":32,
"doc":"delete_imports() Delete all imported modules information.",
"func":1
},
{
"ref":"ida_nalt.GOTEA_NODE_NAME",
"url":32,
"doc":"node containing address of .got section"
},
{
"ref":"ida_nalt.set_gotea",
"url":32,
"doc":"set_gotea(gotea) @param gotea: ea_t",
"func":1
},
{
"ref":"ida_nalt.get_gotea",
"url":32,
"doc":"get_gotea() -> ea_t",
"func":1
},
{
"ref":"ida_nalt.get_import_module_name",
"url":32,
"doc":"get_import_module_name(mod_index) -> str Returns the name of an imported module given its index @param mod_index: int @return: None or the module name",
"func":1
},
{
"ref":"ida_nalt.enum_import_names",
"url":32,
"doc":"enum_import_names(mod_index, py_cb) -> int Enumerate imports from a specific module. Please refer to list_imports.py example. @param mod_index: The module index @param callback: A callable object that will be invoked with an ea, name (could be None) and ordinal. @return: 1-finished ok, -1 on error, otherwise callback return value (<=0)",
"func":1
},
{
"ref":"ida_nalt.switch_info_t__from_ptrval__",
"url":32,
"doc":"switch_info_t__from_ptrval__(ptrval) -> switch_info_t @param ptrval: size_t",
"func":1
},
{
"ref":"ida_nalt.get_abi_name",
"url":32,
"doc":"",
"func":1
},
{
"ref":"ida_nalt.get_initial_version",
"url":32,
"doc":"get_initial_idb_version() -> ushort Get initial version of the database (numeric format like 700)",
"func":1
},
{
"ref":"ida_name",
"url":33,
"doc":"Functions that deal with names. A non-tail address of the program may have a name. Tail addresses (i.e. the addresses in the middle of an instruction or data item) cannot have names."
},
{
"ref":"ida_name.ea_name_vec_t",
"url":33,
"doc":"Proxy of C qvector class. __init__(self) -> ea_name_vec_t __init__(self, x) -> ea_name_vec_t @param x: qvector const &"
},
{
"ref":"ida_name.ea_name_vec_t.thisown",
"url":33,
"doc":"The membership flag"
},
{
"ref":"ida_name.ea_name_vec_t.push_back",
"url":33,
"doc":"push_back(self, x) @param x: ea_name_t const & push_back(self) -> ea_name_t",
"func":1
},
{
"ref":"ida_name.ea_name_vec_t.pop_back",
"url":33,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_name.ea_name_vec_t.size",
"url":33,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_name.ea_name_vec_t.empty",
"url":33,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_name.ea_name_vec_t.at",
"url":33,
"doc":"at(self, _idx) -> ea_name_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_name.ea_name_vec_t.qclear",
"url":33,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_name.ea_name_vec_t.clear",
"url":33,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_name.ea_name_vec_t.resize",
"url":33,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: ea_name_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_name.ea_name_vec_t.grow",
"url":33,
"doc":"grow(self, x=ea_name_t( @param x: ea_name_t const &",
"func":1
},
{
"ref":"ida_name.ea_name_vec_t.capacity",
"url":33,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_name.ea_name_vec_t.reserve",
"url":33,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_name.ea_name_vec_t.truncate",
"url":33,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_name.ea_name_vec_t.swap",
"url":33,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_name.ea_name_vec_t.extract",
"url":33,
"doc":"extract(self) -> ea_name_t",
"func":1
},
{
"ref":"ida_name.ea_name_vec_t.inject",
"url":33,
"doc":"inject(self, s, len) @param s: ea_name_t  @param len: size_t",
"func":1
},
{
"ref":"ida_name.ea_name_vec_t.begin",
"url":33,
"doc":"begin(self) -> ea_name_t",
"func":1
},
{
"ref":"ida_name.ea_name_vec_t.end",
"url":33,
"doc":"end(self) -> ea_name_t",
"func":1
},
{
"ref":"ida_name.ea_name_vec_t.insert",
"url":33,
"doc":"insert(self, it, x) -> ea_name_t @param it: qvector  iterator @param x: ea_name_t const &",
"func":1
},
{
"ref":"ida_name.ea_name_vec_t.erase",
"url":33,
"doc":"erase(self, it) -> ea_name_t @param it: qvector  iterator erase(self, first, last) -> ea_name_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_name.ea_name_vec_t.front",
"url":33,
"doc":"",
"func":1
},
{
"ref":"ida_name.ea_name_vec_t.back",
"url":33,
"doc":"",
"func":1
},
{
"ref":"ida_name.get_name",
"url":33,
"doc":"get_name(ea) -> qstring @param ea: ea_t",
"func":1
},
{
"ref":"ida_name.get_colored_name",
"url":33,
"doc":"get_colored_name(ea) -> qstring @param ea: ea_t",
"func":1
},
{
"ref":"ida_name.MAXNAMELEN",
"url":33,
"doc":"Maximum length of a name in IDA (with the trailing zero)"
},
{
"ref":"ida_name.FUNC_IMPORT_PREFIX",
"url":33,
"doc":"Name prefix used by IDA for the imported functions."
},
{
"ref":"ida_name.set_name",
"url":33,
"doc":"set_name(ea, name, flags=0) -> bool Set or delete name of an item at the specified address. An item can be anything: instruction, function, data byte, word, string, structure, etc . Include name into the list of names. @param ea: (C : ea_t) linear address. do nothing if ea is not valid (return 0). tail bytes can't have names. @param name: (C : const char  ) new name.  nullptr: do nothing (return 0).   : delete name.  otherwise this is a new name. @param flags: (C : int) Set name flags. If a bit is not specified, then the corresponding action is not performed and the name will retain the same bits as before calling this function. For new names, default is: non- public, non-weak, non-auto. @retval 1: ok, name is changed @retval 0: failure, a warning is displayed",
"func":1
},
{
"ref":"ida_name.SN_CHECK",
"url":33,
"doc":"Fail if the name contains invalid characters."
},
{
"ref":"ida_name.SN_NOCHECK",
"url":33,
"doc":"Replace invalid characters silently. If this bit is set, all invalid chars (not in NameChars or MangleChars) will be replaced by '_' List of valid characters is defined in ida.cfg"
},
{
"ref":"ida_name.SN_PUBLIC",
"url":33,
"doc":"if set, make name public"
},
{
"ref":"ida_name.SN_NON_PUBLIC",
"url":33,
"doc":"if set, make name non-public"
},
{
"ref":"ida_name.SN_WEAK",
"url":33,
"doc":"if set, make name weak"
},
{
"ref":"ida_name.SN_NON_WEAK",
"url":33,
"doc":"if set, make name non-weak"
},
{
"ref":"ida_name.SN_AUTO",
"url":33,
"doc":"if set, make name autogenerated"
},
{
"ref":"ida_name.SN_NON_AUTO",
"url":33,
"doc":"if set, make name non-autogenerated"
},
{
"ref":"ida_name.SN_NOLIST",
"url":33,
"doc":"if set, exclude name from the list. if not set, then include the name into the list (however, if other bits are set, the name might be immediately excluded from the list)."
},
{
"ref":"ida_name.SN_NOWARN",
"url":33,
"doc":"don't display a warning if failed"
},
{
"ref":"ida_name.SN_LOCAL",
"url":33,
"doc":"create local name. a function should exist. local names can't be public or weak. also they are not included into the list of names they can't have dummy prefixes."
},
{
"ref":"ida_name.SN_IDBENC",
"url":33,
"doc":"the name is given in the IDB encoding; non-ASCII bytes will be decoded accordingly. Specifying SN_IDBENC also implies SN_NODUMMY"
},
{
"ref":"ida_name.SN_FORCE",
"url":33,
"doc":"if the specified name is already present in the database, try variations with a numerical suffix like \"_123\""
},
{
"ref":"ida_name.SN_NODUMMY",
"url":33,
"doc":"automatically prepend the name with '_' if it begins with a dummy suffix such as 'sub_'. See also SN_IDBENC"
},
{
"ref":"ida_name.SN_DELTAIL",
"url":33,
"doc":"if name cannot be set because of a tail byte, delete the hindering item"
},
{
"ref":"ida_name.force_name",
"url":33,
"doc":"force_name(ea, name, flags=0) -> bool @param ea: ea_t @param name: char const  @param flags: int",
"func":1
},
{
"ref":"ida_name.del_global_name",
"url":33,
"doc":"del_global_name(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_name.del_local_name",
"url":33,
"doc":"del_local_name(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_name.set_dummy_name",
"url":33,
"doc":"set_dummy_name(_from, ea) -> bool Give an autogenerated (dummy) name. Autogenerated names have special prefixes (loc_ .). @param from: (C : ea_t) linear address of the operand which references to the address @param ea: (C : ea_t) linear address @retval 1: ok, dummy name is generated or the byte already had a name @retval 0: failure, invalid address or tail byte",
"func":1
},
{
"ref":"ida_name.make_name_auto",
"url":33,
"doc":"make_name_auto(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_name.make_name_user",
"url":33,
"doc":"make_name_user(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_name.UCDR_STRLIT",
"url":33,
"doc":"string literals"
},
{
"ref":"ida_name.UCDR_NAME",
"url":33,
"doc":"regular (unmangled) names"
},
{
"ref":"ida_name.UCDR_MANGLED",
"url":33,
"doc":"mangled names"
},
{
"ref":"ida_name.UCDR_TYPE",
"url":33,
"doc":"type names"
},
{
"ref":"ida_name.VNT_IDENT",
"url":33,
"doc":"identifier (e.g., function name)"
},
{
"ref":"ida_name.VNT_TYPE",
"url":33,
"doc":"type name (can contain ' ',  .)"
},
{
"ref":"ida_name.VNT_UDTMEM",
"url":33,
"doc":"UDT (structure, union, enum) member."
},
{
"ref":"ida_name.VNT_STRLIT",
"url":33,
"doc":"string literal"
},
{
"ref":"ida_name.VNT_VISIBLE",
"url":33,
"doc":"visible cp (obsolete; will be deleted)"
},
{
"ref":"ida_name.is_valid_cp",
"url":33,
"doc":"is_valid_cp(cp, kind, data=None) -> bool Is the given codepoint acceptable in the given context? @param cp: (C : wchar32_t) @param kind: (C : nametype_t) enum nametype_t @param data: (C : void  )",
"func":1
},
{
"ref":"ida_name.set_cp_validity",
"url":33,
"doc":"set_cp_validity(kind, cp, endcp=wchar32_t(-1), valid=True) Mark the given codepoint (or range) as acceptable or unacceptable in the given context If 'endcp' is not BADCP, it is considered to be the end of the range: [cp, endcp), and is not included in the range @param kind: (C : ucdr_kind_t) enum ucdr_kind_t @param cp: (C : wchar32_t) @param endcp: (C : wchar32_t)",
"func":1
},
{
"ref":"ida_name.get_cp_validity",
"url":33,
"doc":"get_cp_validity(kind, cp, endcp=wchar32_t(-1 -> bool Is the given codepoint (or range) acceptable in the given context? If 'endcp' is not BADCP, it is considered to be the end of the range: [cp, endcp), and is not included in the range @param kind: (C : ucdr_kind_t) enum ucdr_kind_t @param cp: (C : wchar32_t) @param endcp: (C : wchar32_t)",
"func":1
},
{
"ref":"ida_name.is_ident_cp",
"url":33,
"doc":"is_ident_cp(cp) -> bool Can a character appear in a name? (present in  NameChars or  MangleChars) @param cp: (C : wchar32_t)",
"func":1
},
{
"ref":"ida_name.is_strlit_cp",
"url":33,
"doc":"is_strlit_cp(cp, specific_ranges=None) -> bool Can a character appear in a string literal (present in  StrlitChars) If 'specific_ranges' are specified, those will be used instead of the ones corresponding to the current culture (only if  StrlitChars is configured to use the current culture) @param cp: (C : wchar32_t) @param specific_ranges: (C : const rangeset_crefvec_t  ) rangeset_crefvec_t const  ",
"func":1
},
{
"ref":"ida_name.is_visible_cp",
"url":33,
"doc":"is_visible_cp(cp) -> bool Can a character be displayed in a name? (present in  NameChars) @param cp: (C : wchar32_t)",
"func":1
},
{
"ref":"ida_name.is_ident",
"url":33,
"doc":"is_ident(name) -> bool Is a valid name? (including  MangleChars) @param name: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_name.is_valid_name",
"url":33,
"doc":"is_valid_name(name, cpuregs_permitted) -> bool @param name: char const  @param cpuregs_permitted: bool",
"func":1
},
{
"ref":"ida_name.is_uname",
"url":33,
"doc":"is_uname(name) -> bool Is valid user-specified name? (valid name & !dummy prefix). @param name: (C : const char  ) name to test. may be nullptr. @retval 1: yes @retval 0: no",
"func":1
},
{
"ref":"ida_name.is_valid_typename",
"url":33,
"doc":"is_valid_typename(name) -> bool Is valid type name? @param name: (C : const char  ) name to test. may be nullptr. @retval 1: yes @retval 0: no",
"func":1
},
{
"ref":"ida_name.extract_name",
"url":33,
"doc":"extract_name(line, x) -> str Extract a name or address from the specified string. @param line: (C : const char  ) input string @param x: (C : int) x coordinate of cursor @return: -1 if cannot extract. otherwise length of the name",
"func":1
},
{
"ref":"ida_name.hide_name",
"url":33,
"doc":"hide_name(ea) Remove name from the list of names @param ea: (C : ea_t) address of the name",
"func":1
},
{
"ref":"ida_name.show_name",
"url":33,
"doc":"show_name(ea) Insert name to the list of names. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_name.get_name_ea",
"url":33,
"doc":"get_name_ea(_from, name) -> ea_t Get the address of a name. This function resolves a name into an address. It can handle regular global and local names, as well as debugger names. @param from: (C : ea_t) linear address where the name is used. If specified, the local labels of the function at the specified address will will be checked. BADADDR means that local names won't be consulted. @param name: (C : const char  ) any name in the program or nullptr @return: address of the name or BADADDR",
"func":1
},
{
"ref":"ida_name.get_name_base_ea",
"url":33,
"doc":"get_name_base_ea(_from, to) -> ea_t Get address of the name used in the expression for the address @param from: (C : ea_t) address of the operand which references to the address @param to: (C : ea_t) the referenced address @return: address of the name used to represent the operand",
"func":1
},
{
"ref":"ida_name.get_name_value",
"url":33,
"doc":"get_name_value(_from, name) -> int Get value of the name. This function knows about: regular names, enums, special segments, etc. @param from: (C : ea_t) linear address where the name is used if not applicable, then should be BADADDR @param name: (C : const char  ) any name in the program or nullptr @return: Name value result codes",
"func":1
},
{
"ref":"ida_name.NT_NONE",
"url":33,
"doc":"name doesn't exist or has no value"
},
{
"ref":"ida_name.NT_BYTE",
"url":33,
"doc":"name is byte name (regular name)"
},
{
"ref":"ida_name.NT_LOCAL",
"url":33,
"doc":"name is local label"
},
{
"ref":"ida_name.NT_STKVAR",
"url":33,
"doc":"name is stack variable name"
},
{
"ref":"ida_name.NT_ENUM",
"url":33,
"doc":"name is symbolic constant"
},
{
"ref":"ida_name.NT_ABS",
"url":33,
"doc":"name is absolute symbol (SEG_ABSSYM)"
},
{
"ref":"ida_name.NT_SEG",
"url":33,
"doc":"name is segment or segment register name"
},
{
"ref":"ida_name.NT_STROFF",
"url":33,
"doc":"name is structure member"
},
{
"ref":"ida_name.NT_BMASK",
"url":33,
"doc":"name is a bit group mask name"
},
{
"ref":"ida_name.NT_REGVAR",
"url":33,
"doc":"name is a renamed register ( value is idx into pfn->regvars)"
},
{
"ref":"ida_name.GN_VISIBLE",
"url":33,
"doc":"replace forbidden characters by SUBSTCHAR"
},
{
"ref":"ida_name.GN_COLORED",
"url":33,
"doc":"return colored name"
},
{
"ref":"ida_name.GN_DEMANGLED",
"url":33,
"doc":"return demangled name"
},
{
"ref":"ida_name.GN_STRICT",
"url":33,
"doc":"fail if cannot demangle"
},
{
"ref":"ida_name.GN_SHORT",
"url":33,
"doc":"use short form of demangled name"
},
{
"ref":"ida_name.GN_LONG",
"url":33,
"doc":"use long form of demangled name"
},
{
"ref":"ida_name.GN_LOCAL",
"url":33,
"doc":"try to get local name first; if failed, get global"
},
{
"ref":"ida_name.GN_ISRET",
"url":33,
"doc":"for dummy names: use retloc"
},
{
"ref":"ida_name.GN_NOT_ISRET",
"url":33,
"doc":"for dummy names: do not use retloc"
},
{
"ref":"ida_name.GN_NOT_DUMMY",
"url":33,
"doc":"do not return a dummy name"
},
{
"ref":"ida_name.get_visible_name",
"url":33,
"doc":"get_visible_name(ea, gtn_flags=0) -> qstring @param ea: ea_t @param gtn_flags: int",
"func":1
},
{
"ref":"ida_name.get_short_name",
"url":33,
"doc":"get_short_name(ea, gtn_flags=0) -> qstring @param ea: ea_t @param gtn_flags: int",
"func":1
},
{
"ref":"ida_name.get_long_name",
"url":33,
"doc":"get_long_name(ea, gtn_flags=0) -> qstring @param ea: ea_t @param gtn_flags: int",
"func":1
},
{
"ref":"ida_name.get_colored_short_name",
"url":33,
"doc":"get_colored_short_name(ea, gtn_flags=0) -> qstring @param ea: ea_t @param gtn_flags: int",
"func":1
},
{
"ref":"ida_name.get_colored_long_name",
"url":33,
"doc":"get_colored_long_name(ea, gtn_flags=0) -> qstring @param ea: ea_t @param gtn_flags: int",
"func":1
},
{
"ref":"ida_name.get_demangled_name",
"url":33,
"doc":"get_demangled_name(ea, inhibitor, demform, gtn_flags=0) -> qstring @param ea: ea_t @param inhibitor: int32 @param demform: int @param gtn_flags: int",
"func":1
},
{
"ref":"ida_name.get_colored_demangled_name",
"url":33,
"doc":"get_colored_demangled_name(ea, inhibitor, demform, gtn_flags=0) -> qstring @param ea: ea_t @param inhibitor: int32 @param demform: int @param gtn_flags: int",
"func":1
},
{
"ref":"ida_name.get_name_color",
"url":33,
"doc":"get_name_color(_from, ea) -> color_t Calculate flags for get_ea_name() function. Get name color. @param from: (C : ea_t) linear address where the name is used. if not applicable, then should be BADADDR. The kernel returns a local name color if the reference is within a function, i.e. 'from' and 'ea' belong to the same function. @param ea: (C : ea_t) linear address",
"func":1
},
{
"ref":"ida_name.GETN_APPZERO",
"url":33,
"doc":"meaningful only if the name refers to a structure. append a struct field name if the field offset is zero?"
},
{
"ref":"ida_name.GETN_NOFIXUP",
"url":33,
"doc":"ignore the fixup information when producing the name"
},
{
"ref":"ida_name.GETN_NODUMMY",
"url":33,
"doc":"do not create a new dummy name but pretend it exists"
},
{
"ref":"ida_name.get_name_expr",
"url":33,
"doc":"get_name_expr(_from, n, ea, off, flags=0x0001) -> ssize_t Convert address to name expression (name with a displacement). This function takes into account fixup information and returns a colored name expression (in the form  +/-  ). It also knows about structure members and arrays. If the specified address doesn't have a name, a dummy name is generated. @param from: (C : ea_t) linear address of instruction operand or data referring to the name. This address will be used to get fixup information, so it should point to exact position of the operand in the instruction. @param n: (C : int) number of referencing operand. for data items specify 0 @param ea: (C : ea_t) address to convert to name expression @param off: (C : uval_t) the value of name expression. this parameter is used only to check that the name expression will have the wanted value. 'off' may be equal to BADADDR but this is discouraged because it prohibits checks. @param flags: (C : int) Name expression flags @return: < 0 if address is not valid, no segment or other failure. otherwise the length of the name expression in characters.",
"func":1
},
{
"ref":"ida_name.get_nice_colored_name",
"url":33,
"doc":"get_nice_colored_name(ea, flags=0) -> ssize_t Get a nice colored name at the specified address. Ex:  segment:sub+offset  segment:sub:local_label  segment:label  segment:address  segment:address+offset @param ea: (C : ea_t) linear address @param flags: (C : int) Nice colored name flags @return: the length of the generated name in bytes.",
"func":1
},
{
"ref":"ida_name.GNCN_NOSEG",
"url":33,
"doc":"ignore the segment prefix when producing the name"
},
{
"ref":"ida_name.GNCN_NOCOLOR",
"url":33,
"doc":"generate an uncolored name"
},
{
"ref":"ida_name.GNCN_NOLABEL",
"url":33,
"doc":"don't generate labels"
},
{
"ref":"ida_name.GNCN_NOFUNC",
"url":33,
"doc":"don't generate funcname+ . expressions"
},
{
"ref":"ida_name.GNCN_SEG_FUNC",
"url":33,
"doc":"generate both segment and function names (default is to omit segment name if a function name is present)"
},
{
"ref":"ida_name.GNCN_SEGNUM",
"url":33,
"doc":"segment part is displayed as a hex number"
},
{
"ref":"ida_name.GNCN_REQFUNC",
"url":33,
"doc":"return 0 if the address does not belong to a function"
},
{
"ref":"ida_name.GNCN_REQNAME",
"url":33,
"doc":"return 0 if the address can only be represented as a hex number"
},
{
"ref":"ida_name.GNCN_NODBGNM",
"url":33,
"doc":"don't use debug names"
},
{
"ref":"ida_name.GNCN_PREFDBG",
"url":33,
"doc":"if using debug names, prefer debug names over function names"
},
{
"ref":"ida_name.append_struct_fields",
"url":33,
"doc":"append_struct_fields(disp, n, path, flags, delta, appzero) -> str Append names of struct fields to a name if the name is a struct name. @param disp: (C : adiff_t  ) displacement from the name @param n: (C : int) operand number in which the name appears @param path: (C : const tid_t  ) path in the struct. path is an array of id's. maximal length of array is MAXSTRUCPATH. the first element of the array is the structure id. consecutive elements are id's of used union members (if any). @param flags: (C : flags64_t) the input flags. they will be returned if the struct cannot be found. @param delta: (C : adiff_t) delta to add to displacement @param appzero: (C : bool) should append a struct field name if the displacement is zero? @return: flags of the innermost struct member or the input flags",
"func":1
},
{
"ref":"ida_name.is_public_name",
"url":33,
"doc":"is_public_name(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_name.make_name_public",
"url":33,
"doc":"make_name_public(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_name.make_name_non_public",
"url":33,
"doc":"make_name_non_public(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_name.is_weak_name",
"url":33,
"doc":"is_weak_name(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_name.make_name_weak",
"url":33,
"doc":"make_name_weak(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_name.make_name_non_weak",
"url":33,
"doc":"make_name_non_weak(ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_name.get_nlist_size",
"url":33,
"doc":"get_nlist_size() -> size_t Get number of names in the list.",
"func":1
},
{
"ref":"ida_name.get_nlist_idx",
"url":33,
"doc":"get_nlist_idx(ea) -> size_t Get index of the name in the list @warning: returns the closest match. may return idx >= size. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_name.is_in_nlist",
"url":33,
"doc":"is_in_nlist(ea) -> bool Is the name included into the name list? @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_name.get_nlist_ea",
"url":33,
"doc":"get_nlist_ea(idx) -> ea_t Get address from the list at 'idx'. @param idx: (C : size_t)",
"func":1
},
{
"ref":"ida_name.get_nlist_name",
"url":33,
"doc":"get_nlist_name(idx) -> char const  Get name using idx. @param idx: (C : size_t)",
"func":1
},
{
"ref":"ida_name.rebuild_nlist",
"url":33,
"doc":"rebuild_nlist() Rebuild the name list.",
"func":1
},
{
"ref":"ida_name.reorder_dummy_names",
"url":33,
"doc":"reorder_dummy_names() Renumber dummy names.",
"func":1
},
{
"ref":"ida_name.DEBNAME_EXACT",
"url":33,
"doc":"find a name at exactly the specified address"
},
{
"ref":"ida_name.DEBNAME_LOWER",
"url":33,
"doc":"find a name with the address >= the specified address"
},
{
"ref":"ida_name.DEBNAME_UPPER",
"url":33,
"doc":"find a name with the address > the specified address"
},
{
"ref":"ida_name.DEBNAME_NICE",
"url":33,
"doc":"find a name with the address <= the specified address"
},
{
"ref":"ida_name.ea_name_t",
"url":33,
"doc":"Proxy of C ea_name_t class. __init__(self) -> ea_name_t __init__(self, _ea, _name) -> ea_name_t @param _ea: ea_t @param _name: qstring const &"
},
{
"ref":"ida_name.ea_name_t.thisown",
"url":33,
"doc":"The membership flag"
},
{
"ref":"ida_name.ea_name_t.ea",
"url":33,
"doc":"ea"
},
{
"ref":"ida_name.ea_name_t.name",
"url":33,
"doc":"name"
},
{
"ref":"ida_name.set_debug_name",
"url":33,
"doc":"set_debug_name(ea, name) -> bool @param ea: ea_t @param name: char const  ",
"func":1
},
{
"ref":"ida_name.get_debug_name",
"url":33,
"doc":"get_debug_name(ea_ptr, how) -> str @param ea_ptr: ea_t  @param how: enum debug_name_how_t",
"func":1
},
{
"ref":"ida_name.del_debug_names",
"url":33,
"doc":"del_debug_names(ea1, ea2) @param ea1: ea_t @param ea2: ea_t",
"func":1
},
{
"ref":"ida_name.get_debug_name_ea",
"url":33,
"doc":"get_debug_name_ea(name) -> ea_t @param name: char const  ",
"func":1
},
{
"ref":"ida_name.DQT_NPURGED_8",
"url":33,
"doc":"only calculate number of purged bytes (sizeof(arg) 8)"
},
{
"ref":"ida_name.DQT_NPURGED_4",
"url":33,
"doc":"only calculate number of purged bytes (sizeof(arg) 4)"
},
{
"ref":"ida_name.DQT_NPURGED_2",
"url":33,
"doc":"only calculate number of purged bytes (sizeof(arg) 2)"
},
{
"ref":"ida_name.DQT_COMPILER",
"url":33,
"doc":"only detect compiler that generated the name"
},
{
"ref":"ida_name.DQT_NAME_TYPE",
"url":33,
"doc":"only detect the name type (data/code)"
},
{
"ref":"ida_name.DQT_FULL",
"url":33,
"doc":"really demangle"
},
{
"ref":"ida_name.demangle_name",
"url":33,
"doc":"demangle_name(name, disable_mask, demreq=DQT_FULL) -> int32 Demangle a name. @param name: (C : const char  ) char const  @param disable_mask: (C : uint32) @param demreq: (C : demreq_type_t) enum demreq_type_t",
"func":1
},
{
"ref":"ida_name.is_name_defined_locally",
"url":33,
"doc":"is_name_defined_locally(pfn, name, ignore_name_def, ea1=BADADDR, ea2=BADADDR) -> bool Is the name defined locally in the specified function? @param pfn: (C : func_t  ) pointer to function @param name: (C : const char  ) name to check @param ignore_name_def: (C : ignore_name_def_t) which names to ignore when checking @param ea1: (C : ea_t) the starting address of the range inside the function (optional) @param ea2: (C : ea_t) the ending address of the range inside the function (optional) @return: true if the name has been defined",
"func":1
},
{
"ref":"ida_name.cleanup_name",
"url":33,
"doc":"cleanup_name(ea, name, flags=0) -> bool @param ea: ea_t @param name: char const  @param flags: uint32",
"func":1
},
{
"ref":"ida_name.CN_KEEP_TRAILING__DIGITS",
"url":33,
"doc":"do not remove \"_\\d+\" at the end of name"
},
{
"ref":"ida_name.get_mangled_name_type",
"url":33,
"doc":"get_mangled_name_type(name) -> mangled_name_type_t @param name: char const  ",
"func":1
},
{
"ref":"ida_name.get_debug_names",
"url":33,
"doc":"get_debug_names(names, ea1, ea2) @param names: ea_name_vec_t  @param ea1: ea_t @param ea2: ea_t get_debug_names(ea1, ea2, return_list=False) -> PyObject @param ea1: ea_t @param ea2: ea_t @param return_list: bool",
"func":1
},
{
"ref":"ida_name.get_ea_name",
"url":33,
"doc":"get_ea_name(ea, gtn_flags=0) -> qstring Get name at the specified address. @param ea: (C : ea_t) linear address @param gtn_flags: (C : int) how exactly the name should be retrieved. combination of bits for get_ea_name() function. There is a convenience bits @return: success",
"func":1
},
{
"ref":"ida_name.validate_name",
"url":33,
"doc":"validate_name(name, type, flags=0x01) -> PyObject Validate a name. If SN_NOCHECK is specified, this function replaces all invalid characters in the name with SUBSTCHAR. However, it will return false if name is valid but not allowed to be an identifier (is a register name). @param name: (C : qstring  ) ptr to name. the name will be modified @param type: (C : nametype_t) the type of name we want to validate @param flags: (C : int) see SN_ @return: success",
"func":1
},
{
"ref":"ida_name.NearestName",
"url":33,
"doc":"Utility class to help find the nearest name in a given ea/name dictionary"
},
{
"ref":"ida_name.NearestName.update",
"url":33,
"doc":"Updates the ea/names map",
"func":1
},
{
"ref":"ida_name.NearestName.find",
"url":33,
"doc":"Returns a tupple (ea, name, pos) that is the nearest to the passed ea If no name is matched then None is returned",
"func":1
},
{
"ref":"ida_name.calc_gtn_flags",
"url":33,
"doc":"Calculate flags for get_ea_name() function @param fromaddr: the referring address. May be BADADDR. @param ea: linear address @return: flags",
"func":1
},
{
"ref":"ida_netnode",
"url":34,
"doc":"Functions that provide the lowest level public interface to the database. Namely, we use Btree. To learn more about BTree: \\link{https: en.wikipedia.org/wiki/B-tree} We do not use Btree directly. Instead, we have another layer built on the top of Btree. Here is a brief explanation of this layer. An object called \"netnode\" is modeled on the top of Btree. Each netnode has a unique id: a 32-bit value (64-bit for ida64). Initially there is a trivial mapping of the linear addresses used in the program to netnodes (later this mapping may be modified using ea2node and node2ea functions; this is used for fast database rebasings). If we have additional information about an address (for example, a comment is attached to it), this information is stored in the corresponding netnode. See nalt.hpp to see how the kernel uses netnodes. Also, some netnodes have no corresponding linear address (however, they still have an id). They are used to store information not related to a particular address. Each netnode _may_ have the following attributes:  a name: an arbitrary non-empty string, up to 255KB-1 bytes  a value: arbitrary sized object, max size is MAXSPECSIZE  altvals: a sparse array of 32-bit values. indexes in this array may be 8-bit or 32-bit values  supvals: an array of arbitrary sized objects. (size of each object is limited by MAXSPECSIZE) indexes in this array may be 8-bit or 32-bit values  charvals: a sparse array of 8-bit values. indexes in this array may be 8-bit or 32-bit values  hashvals: a hash (an associative array). indexes in this array are strings values are arbitrary sized (max size is MAXSPECSIZE) Initially a new netnode contains no information at all so no disk space is used for it. As you add new information, the netnode grows. All arrays that are attached to the netnode behave in the same manner. Initially:  all members of altvals/charvals array are zeroes  all members of supvals/hashvals array are undefined If you need to store objects bigger that MAXSPECSIZE, please note that there are high-level functions to store arbitrary sized objects in supvals. See setblob/getblob and other blob-related functions. You may use netnodes to store additional information about the program. Limitations on the use of netnodes are the following:  use netnodes only if you could not find a kernel service to store your type of information  do not create netnodes with valid identifier names. Use the \"$ \" prefix (or any other prefix with characters not allowed in the identifiers for the names of your netnodes. Although you will probably not destroy anything by accident, using already defined names for the names of your netnodes is still discouraged.  you may create as many netnodes as you want (creation of an unnamed netnode does not increase the size of the database). however, since each netnode has a number, creating too many netnodes could lead to the exhaustion of the netnode numbers (the numbering starts at 0xFF000000)  remember that netnodes are automatically saved to the disk by the kernel. Advanced info: In fact a netnode may contain up to 256 arrays of arbitrary sized objects (not only the 4 listed above). Each array has an 8-bit tag. Usually tags are represented by character constants. For example, altvals and supvals are simply 2 of 256 arrays, with the tags 'A' and 'S' respectively."
},
{
"ref":"ida_netnode.BADNODE",
"url":34,
"doc":"A number to represent a bad netnode reference."
},
{
"ref":"ida_netnode.netnode",
"url":34,
"doc":"Proxy of C netnode class. __init__(self, num=nodeidx_t(-1 -> netnode @param num: nodeidx_t __init__(self, _name, namlen=0, do_create=False) -> netnode @param _name: char const  @param namlen: size_t @param do_create: bool"
},
{
"ref":"ida_netnode.netnode.thisown",
"url":34,
"doc":"The membership flag"
},
{
"ref":"ida_netnode.netnode.exist",
"url":34,
"doc":"exist(_name) -> bool Does the netnode with the specified name exist? @param _name: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_netnode.netnode.create",
"url":34,
"doc":"create(self, _name, namlen=0) -> bool Create unnamed netnode. @retval 1: ok @retval 0: should not happen, indicates internal error @param _name: char const  @param namlen: size_t create(self) -> bool",
"func":1
},
{
"ref":"ida_netnode.netnode.kill",
"url":34,
"doc":"kill(self) Delete a netnode with all information attached to it.",
"func":1
},
{
"ref":"ida_netnode.netnode.get_name",
"url":34,
"doc":"get_name(self) -> ssize_t Get the netnode name. @return: -1 if netnode is unnamed (buf is untouched in this case), otherwise the name length",
"func":1
},
{
"ref":"ida_netnode.netnode.rename",
"url":34,
"doc":"rename(self, newname, namlen=0) -> bool Rename a netnode. @param newname: (C : const char  ) new name of netnode. nullptr or  means to delete name. names of user-defined netnodes must have the \"$ \" prefix in order to avoid clashes with program byte names. @param namlen: (C : size_t) length of new name. if not specified, it will be calculated using strlen() @retval 1: ok @retval 0: failed, newname is already used",
"func":1
},
{
"ref":"ida_netnode.netnode.valobj",
"url":34,
"doc":"valobj(self) -> ssize_t Get value of netnode. Netnode values are arbitrary sized objects with max size is MAXSPECSIZE. NB: do not use this function for strings - see valstr(). @return: length of value, -1 if no value present",
"func":1
},
{
"ref":"ida_netnode.netnode.valstr",
"url":34,
"doc":"valstr(self) -> ssize_t @see: valstr(qstring  buf) const",
"func":1
},
{
"ref":"ida_netnode.netnode.set",
"url":34,
"doc":"set(self, value) -> bool Set value of netnode. @param value: (C : const void  ) pointer to value @return: 1 - ok",
"func":1
},
{
"ref":"ida_netnode.netnode.delvalue",
"url":34,
"doc":"delvalue(self) -> bool Delete value of netnode. @retval 1: ok @retval 0: failed, netnode is bad or other error",
"func":1
},
{
"ref":"ida_netnode.netnode.set_long",
"url":34,
"doc":"set_long(self, x) -> bool Value of netnode as a long number: @param x: (C : nodeidx_t)",
"func":1
},
{
"ref":"ida_netnode.netnode.value_exists",
"url":34,
"doc":"value_exists(self) -> bool",
"func":1
},
{
"ref":"ida_netnode.netnode.long_value",
"url":34,
"doc":"long_value(self) -> nodeidx_t",
"func":1
},
{
"ref":"ida_netnode.netnode.altval",
"url":34,
"doc":"altval(self, alt, tag=atag) -> nodeidx_t Get altval element of the specified array. @param alt: (C : nodeidx_t) index into array of altvals @param tag: (C : uchar) tag of array. may be omitted @return: value of altval element. nonexistent altval members are returned as zeroes",
"func":1
},
{
"ref":"ida_netnode.netnode.altval_ea",
"url":34,
"doc":"altval_ea(self, ea, tag=atag) -> nodeidx_t @param ea: ea_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.altset",
"url":34,
"doc":"altset(self, alt, value, tag=atag) -> bool Set value of altval array. @param alt: (C : nodeidx_t) index into array of altvals @param value: (C : nodeidx_t) new value of altval element @param tag: (C : uchar) tag of array @retval 1: ok @retval 0: failed, normally should not occur",
"func":1
},
{
"ref":"ida_netnode.netnode.altset_ea",
"url":34,
"doc":"altset_ea(self, ea, value, tag=atag) -> bool @param ea: ea_t @param value: nodeidx_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.altdel_ea",
"url":34,
"doc":"altdel_ea(self, ea, tag=atag) -> bool @param ea: ea_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.easet",
"url":34,
"doc":"easet(self, ea, addr, tag) -> bool Store/retrieve/delete an address value in the netnode that corresponds to an address. @param ea: (C : ea_t) @param addr: (C : ea_t) @param tag: (C : uchar)",
"func":1
},
{
"ref":"ida_netnode.netnode.eaget",
"url":34,
"doc":"eaget(self, ea, tag) -> ea_t @param ea: ea_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.eadel",
"url":34,
"doc":"eadel(self, ea, tag) -> bool @param ea: ea_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.easet_idx",
"url":34,
"doc":"easet_idx(self, idx, addr, tag) -> bool @param idx: nodeidx_t @param addr: ea_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.eaget_idx",
"url":34,
"doc":"eaget_idx(self, idx, tag) -> ea_t @param idx: nodeidx_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.easet_idx8",
"url":34,
"doc":"easet_idx8(self, idx, addr, tag) -> bool @param idx: uchar @param addr: ea_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.eaget_idx8",
"url":34,
"doc":"eaget_idx8(self, idx, tag) -> ea_t @param idx: uchar @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.eadel_idx8",
"url":34,
"doc":"eadel_idx8(self, idx, tag) -> bool @param idx: uchar @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.altfirst",
"url":34,
"doc":"altfirst(self, tag=atag) -> nodeidx_t Get first existing element of altval array. @param tag: (C : uchar) tag of array @return: index of first existing element of altval array, BADNODE if altval array is empty",
"func":1
},
{
"ref":"ida_netnode.netnode.altnext",
"url":34,
"doc":"altnext(self, cur, tag=atag) -> nodeidx_t Get next existing element of altval array. @param cur: (C : nodeidx_t) current index @param tag: (C : uchar) tag of array @return: index of the next existing element of altval array, BADNODE if no more altval array elements exist",
"func":1
},
{
"ref":"ida_netnode.netnode.altlast",
"url":34,
"doc":"altlast(self, tag=atag) -> nodeidx_t Get last element of altval array. @param tag: (C : uchar) tag of array @return: index of last existing element of altval array, BADNODE if altval array is empty",
"func":1
},
{
"ref":"ida_netnode.netnode.altprev",
"url":34,
"doc":"altprev(self, cur, tag=atag) -> nodeidx_t Get previous existing element of altval array. @param cur: (C : nodeidx_t) current index @param tag: (C : uchar) tag of array @return: index of the previous existing element of altval array, BADNODE if no more altval array elements exist",
"func":1
},
{
"ref":"ida_netnode.netnode.altshift",
"url":34,
"doc":"altshift(self, _from, to, size, tag=atag) -> size_t Shift the altval array elements. Moves the array elements at (from from+size) to (to to+size) @param from: (C : nodeidx_t) @param to: (C : nodeidx_t) @param size: (C : nodeidx_t) @param tag: (C : uchar) @return: number of shifted elements",
"func":1
},
{
"ref":"ida_netnode.netnode.charval",
"url":34,
"doc":"charval(self, alt, tag) -> uchar @param alt: nodeidx_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.charset",
"url":34,
"doc":"charset(self, alt, val, tag) -> bool @param alt: nodeidx_t @param val: uchar @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.chardel",
"url":34,
"doc":"chardel(self, alt, tag) -> bool @param alt: nodeidx_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.charval_ea",
"url":34,
"doc":"charval_ea(self, ea, tag) -> uchar @param ea: ea_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.charset_ea",
"url":34,
"doc":"charset_ea(self, ea, val, tag) -> bool @param ea: ea_t @param val: uchar @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.chardel_ea",
"url":34,
"doc":"chardel_ea(self, ea, tag) -> bool @param ea: ea_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.charfirst",
"url":34,
"doc":"charfirst(self, tag) -> nodeidx_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.charnext",
"url":34,
"doc":"charnext(self, cur, tag) -> nodeidx_t @param cur: nodeidx_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.charlast",
"url":34,
"doc":"charlast(self, tag) -> nodeidx_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.charprev",
"url":34,
"doc":"charprev(self, cur, tag) -> nodeidx_t @param cur: nodeidx_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.charshift",
"url":34,
"doc":"charshift(self, _from, to, size, tag) -> size_t @param from: nodeidx_t @param to: nodeidx_t @param size: nodeidx_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.altval_idx8",
"url":34,
"doc":"altval_idx8(self, alt, tag) -> nodeidx_t @param alt: uchar @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.altset_idx8",
"url":34,
"doc":"altset_idx8(self, alt, val, tag) -> bool @param alt: uchar @param val: nodeidx_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.altdel_idx8",
"url":34,
"doc":"altdel_idx8(self, alt, tag) -> bool @param alt: uchar @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.altfirst_idx8",
"url":34,
"doc":"altfirst_idx8(self, tag) -> nodeidx_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.altnext_idx8",
"url":34,
"doc":"altnext_idx8(self, cur, tag) -> nodeidx_t @param cur: uchar @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.altlast_idx8",
"url":34,
"doc":"altlast_idx8(self, tag) -> nodeidx_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.altprev_idx8",
"url":34,
"doc":"altprev_idx8(self, cur, tag) -> nodeidx_t @param cur: uchar @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.charval_idx8",
"url":34,
"doc":"charval_idx8(self, alt, tag) -> uchar @param alt: uchar @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.charset_idx8",
"url":34,
"doc":"charset_idx8(self, alt, val, tag) -> bool @param alt: uchar @param val: uchar @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.chardel_idx8",
"url":34,
"doc":"chardel_idx8(self, alt, tag) -> bool @param alt: uchar @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.charfirst_idx8",
"url":34,
"doc":"charfirst_idx8(self, tag) -> nodeidx_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.charnext_idx8",
"url":34,
"doc":"charnext_idx8(self, cur, tag) -> nodeidx_t @param cur: uchar @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.charlast_idx8",
"url":34,
"doc":"charlast_idx8(self, tag) -> nodeidx_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.charprev_idx8",
"url":34,
"doc":"charprev_idx8(self, cur, tag) -> nodeidx_t @param cur: uchar @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.altdel",
"url":34,
"doc":"altdel(self, alt, tag=atag) -> bool Delete all elements of altval array. This function may be applied to 32-bit and 8-bit altval arrays. This function deletes the whole altval array. @param alt: nodeidx_t @param tag: uchar @return: success altdel(self) -> bool",
"func":1
},
{
"ref":"ida_netnode.netnode.altdel_all",
"url":34,
"doc":"altdel_all(self, tag=atag) -> bool Delete all elements of the specified altval array. This function may be applied to 32-bit and 8-bit altval arrays. This function deletes the whole altval array. @param tag: (C : uchar) tag of array @return: success",
"func":1
},
{
"ref":"ida_netnode.netnode.supval",
"url":34,
"doc":"supval(self, alt, tag=stag) -> ssize_t Get value of the specified supval array element. NB: do not use this function to retrieve strings, see supstr()! @param alt: (C : nodeidx_t) index into array of supvals @param tag: (C : uchar) tag of array. Default: stag @return: size of value, -1 if element doesn't exist",
"func":1
},
{
"ref":"ida_netnode.netnode.supval_ea",
"url":34,
"doc":"supval_ea(self, ea, tag=stag) -> ssize_t @param ea: ea_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.supstr",
"url":34,
"doc":"supstr(self, alt, tag=stag) -> ssize_t @see: supstr(qstring  buf, nodeidx_t alt, uchar tag=stag) const @param alt: (C : nodeidx_t) @param tag: (C : uchar)",
"func":1
},
{
"ref":"ida_netnode.netnode.supstr_ea",
"url":34,
"doc":"supstr_ea(self, ea, tag=stag) -> ssize_t @param ea: ea_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.supdel_ea",
"url":34,
"doc":"supdel_ea(self, ea, tag=stag) -> bool @param ea: ea_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.lower_bound",
"url":34,
"doc":"lower_bound(self, cur, tag=stag) -> nodeidx_t Get lower bound of existing elements of supval array. @param cur: (C : nodeidx_t) current index @param tag: (C : uchar) tag of array @return: index of first existing element of supval array >= cur BADNODE if supval array is empty",
"func":1
},
{
"ref":"ida_netnode.netnode.lower_bound_ea",
"url":34,
"doc":"lower_bound_ea(self, ea, tag=stag) -> nodeidx_t @param ea: ea_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.supfirst",
"url":34,
"doc":"supfirst(self, tag=stag) -> nodeidx_t Get first existing element of supval array. @param tag: (C : uchar) tag of array @return: index of first existing element of supval array, BADNODE if supval array is empty",
"func":1
},
{
"ref":"ida_netnode.netnode.supnext",
"url":34,
"doc":"supnext(self, cur, tag=stag) -> nodeidx_t Get next existing element of supval array. @param cur: (C : nodeidx_t) current index @param tag: (C : uchar) tag of array @return: index of the next existing element of supval array, BADNODE if no more supval array elements exist",
"func":1
},
{
"ref":"ida_netnode.netnode.suplast",
"url":34,
"doc":"suplast(self, tag=stag) -> nodeidx_t Get last existing element of supval array. @param tag: (C : uchar) tag of array @return: index of last existing element of supval array, BADNODE if supval array is empty",
"func":1
},
{
"ref":"ida_netnode.netnode.supprev",
"url":34,
"doc":"supprev(self, cur, tag=stag) -> nodeidx_t Get previous existing element of supval array. @param cur: (C : nodeidx_t) current index @param tag: (C : uchar) tag of array @return: index of the previous existing element of supval array BADNODE if no more supval array elements exist",
"func":1
},
{
"ref":"ida_netnode.netnode.supshift",
"url":34,
"doc":"supshift(self, _from, to, size, tag=stag) -> size_t Shift the supval array elements. Moves the array elements at (from from+size) to (to to+size) @param from: (C : nodeidx_t) @param to: (C : nodeidx_t) @param size: (C : nodeidx_t) @param tag: (C : uchar) @return: number of shifted elements",
"func":1
},
{
"ref":"ida_netnode.netnode.supval_idx8",
"url":34,
"doc":"supval_idx8(self, alt, tag) -> ssize_t @param alt: uchar @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.supstr_idx8",
"url":34,
"doc":"supstr_idx8(self, alt, tag) -> ssize_t @param alt: uchar @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.supset_idx8",
"url":34,
"doc":"supset_idx8(self, alt, value, tag) -> bool @param alt: uchar @param value: void const  @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.supdel_idx8",
"url":34,
"doc":"supdel_idx8(self, alt, tag) -> bool @param alt: uchar @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.lower_bound_idx8",
"url":34,
"doc":"lower_bound_idx8(self, alt, tag) -> nodeidx_t @param alt: uchar @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.supfirst_idx8",
"url":34,
"doc":"supfirst_idx8(self, tag) -> nodeidx_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.supnext_idx8",
"url":34,
"doc":"supnext_idx8(self, alt, tag) -> nodeidx_t @param alt: uchar @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.suplast_idx8",
"url":34,
"doc":"suplast_idx8(self, tag) -> nodeidx_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.supprev_idx8",
"url":34,
"doc":"supprev_idx8(self, alt, tag) -> nodeidx_t @param alt: uchar @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.supdel",
"url":34,
"doc":"supdel(self, alt, tag=stag) -> bool Delete all elements of supval array. This function may be applied to 32-bit and 8-bit supval arrays. This function deletes the whole supval array. @param alt: nodeidx_t @param tag: uchar @return: success supdel(self) -> bool",
"func":1
},
{
"ref":"ida_netnode.netnode.supdel_all",
"url":34,
"doc":"supdel_all(self, tag) -> bool Delete all elements of the specified supval array. This function may be applied to 32-bit and 8-bit supval arrays. This function deletes the whole supval array. @param tag: (C : uchar) @return: success",
"func":1
},
{
"ref":"ida_netnode.netnode.supdel_range",
"url":34,
"doc":"supdel_range(self, idx1, idx2, tag) -> int Delete range of elements in the specified supval array. Elements in range [idx1, idx2) will be deleted. @note: This function can also be used to delete a range of altval elements @param idx1: (C : nodeidx_t) first element to delete @param idx2: (C : nodeidx_t) last element to delete + 1 @param tag: (C : uchar) tag of array @return: number of deleted elements",
"func":1
},
{
"ref":"ida_netnode.netnode.supdel_range_idx8",
"url":34,
"doc":"supdel_range_idx8(self, idx1, idx2, tag) -> int Same as above, but accepts 8-bit indexes. @param idx1: (C : uchar) @param idx2: (C : uchar) @param tag: (C : uchar)",
"func":1
},
{
"ref":"ida_netnode.netnode.hashval",
"url":34,
"doc":"hashval(self, idx, tag=htag) -> ssize_t Get value of the specified hash element. @param idx: (C : const char  ) index into hash @param tag: (C : uchar) tag of hash. Default: htag @return: -1 if element doesn't exist or idx is nullptr. otherwise returns the value size in bytes",
"func":1
},
{
"ref":"ida_netnode.netnode.hashstr",
"url":34,
"doc":"hashstr(self, idx, tag=htag) -> ssize_t @see: hashstr(qstring  buf, const char  idx, uchar tag=htag) const @param idx: (C : const char  ) char const  @param tag: (C : uchar)",
"func":1
},
{
"ref":"ida_netnode.netnode.hashval_long",
"url":34,
"doc":"hashval_long(self, idx, tag=htag) -> nodeidx_t Get value of the specified hash element. @param idx: (C : const char  ) index into hash @param tag: (C : uchar) tag of hash. Default: htag @return: value of hash element (it should be set using hashset(nodeidx_t , 0 if the element does not exist",
"func":1
},
{
"ref":"ida_netnode.netnode.hashset",
"url":34,
"doc":"hashset(self, idx, value, tag=htag) -> bool Set value of hash element to long value. @param idx: (C : const char  ) index into hash @param value: (C : nodeidx_t) new value of hash element @param tag: (C : uchar) tag of hash. Default: htag @retval 1: ok @retval 0: should not occur - indicates internal error",
"func":1
},
{
"ref":"ida_netnode.netnode.hashset_idx",
"url":34,
"doc":"hashset_idx(self, idx, value, tag=htag) -> bool @param idx: char const  @param value: nodeidx_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.hashdel",
"url":34,
"doc":"hashdel(self, idx, tag=htag) -> bool Delete hash element. @param idx: (C : const char  ) index into hash @param tag: (C : uchar) tag of hash. Default: htag @retval true: deleted @retval false: element does not exist",
"func":1
},
{
"ref":"ida_netnode.netnode.hashfirst",
"url":34,
"doc":"hashfirst(self, tag=htag) -> ssize_t @see: hashfirst(qstring  buf, uchar tag=htag) const @param tag: (C : uchar)",
"func":1
},
{
"ref":"ida_netnode.netnode.hashnext",
"url":34,
"doc":"hashnext(self, idx, tag=htag) -> ssize_t @see: hashnext(qstring  buf, const char  idx, uchar tag=htag) const @param idx: (C : const char  ) char const  @param tag: (C : uchar)",
"func":1
},
{
"ref":"ida_netnode.netnode.hashlast",
"url":34,
"doc":"hashlast(self, tag=htag) -> ssize_t @see: hashlast(qstring  buf, uchar tag=htag) const @param tag: (C : uchar)",
"func":1
},
{
"ref":"ida_netnode.netnode.hashprev",
"url":34,
"doc":"hashprev(self, idx, tag=htag) -> ssize_t @see: hashprev(qstring  buf, const char  idx, uchar tag=htag) const @param idx: (C : const char  ) char const  @param tag: (C : uchar)",
"func":1
},
{
"ref":"ida_netnode.netnode.hashdel_all",
"url":34,
"doc":"hashdel_all(self, tag=htag) -> bool Delete all elements of hash. This function deletes the whole hash. @param tag: (C : uchar) tag of hash. Default: htag @return: success",
"func":1
},
{
"ref":"ida_netnode.netnode.blobsize",
"url":34,
"doc":"blobsize(self, _start, tag) -> size_t Get size of blob. @param _start: (C : nodeidx_t) index of the first supval element used to store blob @param tag: (C : uchar) tag of supval array @return: number of bytes required to store a blob",
"func":1
},
{
"ref":"ida_netnode.netnode.blobsize_ea",
"url":34,
"doc":"blobsize_ea(self, ea, tag) -> size_t @param ea: ea_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.setblob",
"url":34,
"doc":"setblob(self, buf, _start, tag) -> bool Store a blob in a netnode. @param buf: (C : const void  ) pointer to blob to save @param _start: (C : nodeidx_t) @param tag: (C : uchar) tag of supval array @return: success",
"func":1
},
{
"ref":"ida_netnode.netnode.setblob_ea",
"url":34,
"doc":"setblob_ea(self, buf, ea, tag) -> bool @param buf: void const  @param ea: ea_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.delblob",
"url":34,
"doc":"delblob(self, _start, tag) -> int Delete a blob. @param _start: (C : nodeidx_t) index of the first supval element used to store blob @param tag: (C : uchar) tag of supval array @return: number of deleted supvals",
"func":1
},
{
"ref":"ida_netnode.netnode.delblob_ea",
"url":34,
"doc":"delblob_ea(self, ea, tag) -> int @param ea: ea_t @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.netnode.blobshift",
"url":34,
"doc":"blobshift(self, _from, to, size, tag) -> size_t Shift the blob array elements. Moves the array elements at (from from+size) to (to to+size) @param from: (C : nodeidx_t) @param to: (C : nodeidx_t) @param size: (C : nodeidx_t) @param tag: (C : uchar) @return: number of shifted elements",
"func":1
},
{
"ref":"ida_netnode.netnode.start",
"url":34,
"doc":"start(self) -> bool Get first netnode in the graph. Sets netnodenumber to the lowest existing number. @retval true: ok @retval false: graph is empty",
"func":1
},
{
"ref":"ida_netnode.netnode.end",
"url":34,
"doc":"end(self) -> bool Get last netnode in the graph. Sets netnodenumber to the highest existing number. @retval true: ok @retval false: graph is empty",
"func":1
},
{
"ref":"ida_netnode.netnode.next",
"url":34,
"doc":"next(self) -> bool Get next netnode in the graph. Sets netnodenumber to the next existing number @retval true: ok @retval false: no more netnodes",
"func":1
},
{
"ref":"ida_netnode.netnode.prev",
"url":34,
"doc":"prev(self) -> bool Get prev netnode in the graph. Sets netnodenumber to the previous existing number @retval true: ok @retval false: no more netnodes",
"func":1
},
{
"ref":"ida_netnode.netnode.copyto",
"url":34,
"doc":"copyto(self, destnode, count=1) -> size_t @param destnode: netnode @param count: nodeidx_t",
"func":1
},
{
"ref":"ida_netnode.netnode.moveto",
"url":34,
"doc":"moveto(self, destnode, count=1) -> size_t @param destnode: netnode @param count: nodeidx_t",
"func":1
},
{
"ref":"ida_netnode.netnode.index",
"url":34,
"doc":"index(self) -> nodeidx_t",
"func":1
},
{
"ref":"ida_netnode.netnode.getblob",
"url":34,
"doc":"getblob(self, start, tag) -> bytes or None Get blob from a netnode into a qstring and make sure the string is null- terminated. @param start: nodeidx_t @param tag: (C : uchar) tag of supval array @return: -1 if blob doesn't exist size of string (including terminating null) otherwise",
"func":1
},
{
"ref":"ida_netnode.netnode.getclob",
"url":34,
"doc":"getclob(self, start, tag) -> str @param start: nodeidx_t @param tag: char",
"func":1
},
{
"ref":"ida_netnode.netnode.getblob_ea",
"url":34,
"doc":"getblob_ea(self, ea, tag) -> PyObject  @param ea: ea_t @param tag: char",
"func":1
},
{
"ref":"ida_netnode.netnode.hashstr_buf",
"url":34,
"doc":"hashstr_buf(self, idx, tag=htag) -> PyObject @param idx: char const  @param tag: char",
"func":1
},
{
"ref":"ida_netnode.netnode.hashset_buf",
"url":34,
"doc":"hashset_buf(self, idx, py_str, tag=htag) -> bool @param idx: char const  @param py_str: PyObject  @param tag: char",
"func":1
},
{
"ref":"ida_netnode.netnode.supset",
"url":34,
"doc":"supset(self, alt, value, tag=stag) -> bool Set value of supval array element. @param alt: (C : nodeidx_t) index into array of supvals @param value: (C : const void  ) pointer to supval value @param tag: (C : uchar) tag of array @retval 1: ok @retval 0: should not occur - indicates internal error",
"func":1
},
{
"ref":"ida_netnode.netnode.supset_ea",
"url":34,
"doc":"supset_ea(self, ea, value, tag=stag) -> bool @param ea: ea_t @param value: void const  @param tag: uchar",
"func":1
},
{
"ref":"ida_netnode.MAXNAMESIZE",
"url":34,
"doc":"Maximum length of a netnode name. WILL BE REMOVED IN THE FUTURE."
},
{
"ref":"ida_netnode.MAX_NODENAME_SIZE",
"url":34,
"doc":"Maximum length of a name. We permit names up to 32KB-1 bytes."
},
{
"ref":"ida_netnode.MAXSPECSIZE",
"url":34,
"doc":"Maximum length of strings or objects stored in a supval array element."
},
{
"ref":"ida_netnode.atag",
"url":34,
"doc":"Array of altvals."
},
{
"ref":"ida_netnode.stag",
"url":34,
"doc":"Array of supvals."
},
{
"ref":"ida_netnode.htag",
"url":34,
"doc":"Array of hashvals."
},
{
"ref":"ida_netnode.vtag",
"url":34,
"doc":"Value of netnode."
},
{
"ref":"ida_netnode.ntag",
"url":34,
"doc":"Name of netnode."
},
{
"ref":"ida_netnode.ltag",
"url":34,
"doc":"Links between netnodes."
},
{
"ref":"ida_netnode.exist",
"url":34,
"doc":"exist(n) -> bool @param n: netnode const &",
"func":1
},
{
"ref":"ida_netnode.netnode_exist",
"url":34,
"doc":"exist(_name) -> bool Does the netnode with the specified name exist? @param _name: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_offset",
"url":35,
"doc":"Functions that deal with offsets. \"Being an offset\" is a characteristic of an operand. This means that operand or its part represent offset from some address in the program. This linear address is called \"offset base\". Some operands may have 2 offsets simultaneously. Generally, IDA doesn't handle this except for Motorola outer offsets. Thus there may be two offset values in an operand: simple offset and outer offset. Outer offsets are handled by specifying special operand number: it should be ORed with OPND_OUTER value. See bytes.hpp for further explanation of operand numbers."
},
{
"ref":"ida_offset.get_default_reftype",
"url":35,
"doc":"get_default_reftype(ea) -> reftype_t Get default reference type depending on the segment. @param ea: (C : ea_t) @return: one of REF_OFF8, REF_OFF16, REF_OFF32, REF_OFF64",
"func":1
},
{
"ref":"ida_offset.op_offset_ex",
"url":35,
"doc":"op_offset_ex(ea, n, ri) -> bool Convert operand to a reference. To delete an offset, use clr_op_type() function. @param ea: (C : ea_t) linear address. if 'ea' has unexplored bytes, try to convert them to  no segment: fail  16bit segment: to 16bit word data  32bit segment: to dword @param n: (C : int) operand number (may be ORed with OPND_OUTER)  0: first  1: second   .  7: eighth operand  OPND_MASK: all operands @param ri: (C : const refinfo_t  ) reference information @return: success",
"func":1
},
{
"ref":"ida_offset.op_offset",
"url":35,
"doc":"op_offset(ea, n, type_and_flags, target=BADADDR, base=0, tdelta=0) -> bool See op_offset_ex() @param ea: (C : ea_t) @param n: (C : int) @param type_and_flags: (C : uint32) @param target: (C : ea_t) @param base: (C : ea_t) @param tdelta: (C : adiff_t)",
"func":1
},
{
"ref":"ida_offset.op_plain_offset",
"url":35,
"doc":"op_plain_offset(ea, n, base) -> bool Convert operand to a reference with the default reference type. @param ea: (C : ea_t) @param n: (C : int) @param base: (C : ea_t)",
"func":1
},
{
"ref":"ida_offset.get_offbase",
"url":35,
"doc":"get_offbase(ea, n) -> ea_t Get offset base value @param ea: (C : ea_t) linear address @param n: (C : int) 0 UA_MAXOP-1 operand number @return: offset base or BADADDR",
"func":1
},
{
"ref":"ida_offset.get_offset_expression",
"url":35,
"doc":"get_offset_expression(ea, n, _from, offset, getn_flags=0) -> int Get offset expression (in the form \"offset name+displ\"). This function uses offset translation function ( processor_t translate) if your IDP module has such a function. Translation function is used to map linear addresses in the program (only for offsets). Example: suppose we have instruction at linear address 0x00011000: mov ax, [bx+7422h] and at ds:7422h: array dw  . We want to represent the second operand with an offset expression, so then we call: get_offset_expresion(0x001100, 1, 0x001102, 0x7422, buf); | | | | | | | | | +output buffer | | | +value of offset expression | | +address offset value in the instruction | +the second operand +address of instruction and the function will return a colored string: offset array @param ea: (C : ea_t) start of instruction or data with the offset expression @param n: (C : int) operand number (may be ORed with OPND_OUTER)  0: first operand  1: second operand   .  7: eighth operand @param from: (C : ea_t) linear address of instruction operand or data referring to the name. This address will be used to get fixup information, so it should point to exact position of operand in the instruction. @param offset: (C : adiff_t) value of operand or its part. The function will return text representation of this value as offset expression. @param getn_flags: (C : int) combination of:  GETN_APPZERO: meaningful only if the name refers to a structure. appends the struct field name if the field offset is zero  GETN_NODUMMY: do not generate dummy names for the expression but pretend they already exist (useful to verify that the offset expression can be represented) @retval 0: can't convert to offset expression @retval 1: ok, a simple offset expression @retval 2: ok, a complex offset expression",
"func":1
},
{
"ref":"ida_offset.get_offset_expr",
"url":35,
"doc":"get_offset_expr(ea, n, ri, _from, offset, getn_flags=0) -> int See get_offset_expression() @param ea: (C : ea_t) @param n: (C : int) @param ri: (C : const refinfo_t &) refinfo_t const & @param from: (C : ea_t) @param offset: (C : adiff_t) @param getn_flags: (C : int)",
"func":1
},
{
"ref":"ida_offset.can_be_off32",
"url":35,
"doc":"can_be_off32(ea) -> ea_t Does the specified address contain a valid OFF32 value?. For symbols in special segments the displacement is not taken into account. If yes, then the target address of OFF32 will be returned. If not, then BADADDR is returned. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_offset.calc_offset_base",
"url":35,
"doc":"calc_offset_base(ea, n) -> ea_t Try to calculate the offset base This function takes into account the fixup information, current ds and cs values. @param ea: (C : ea_t) the referencing instruction/data address @param n: (C : int) operand number  0: first operand  1: second operand   .  7: eighth operand @return: output base address or BADADDR",
"func":1
},
{
"ref":"ida_offset.calc_probable_base_by_value",
"url":35,
"doc":"calc_probable_base_by_value(ea, off) -> ea_t Try to calculate the offset base. 2 bases are checked: current ds and cs. If fails, return BADADDR @param ea: (C : ea_t) @param off: (C : uval_t)",
"func":1
},
{
"ref":"ida_offset.calc_reference_data",
"url":35,
"doc":"calc_reference_data(target, base, _from, ri, opval) -> bool Calculate the target and base addresses of an offset expression. The calculated target and base addresses are returned in the locations pointed by 'base' and 'target'. In case 'ri.base' is BADADDR, the function calculates the offset base address from the referencing instruction/data address. The target address is copied from ri.target. If ri.target is BADADDR then the target is calculated using the base address and 'opval'. This function also checks if 'opval' matches the full value of the reference and takes in account the memory-mapping. @param target: (C : ea_t  ) output target address @param base: (C : ea_t  ) output base address @param from: (C : ea_t) the referencing instruction/data address @param ri: (C : const refinfo_t &) reference info block from the database @param opval: (C : adiff_t) operand value (usually op_t value or op_t addr) @return: success",
"func":1
},
{
"ref":"ida_offset.add_refinfo_dref",
"url":35,
"doc":"add_refinfo_dref(insn, _from, ri, opval, type, opoff) -> ea_t Add xrefs for a reference from the given instruction ( insn_t ea). This function creates a cross references to the target and the base. insn_t add_off_drefs() calls this function to create xrefs for 'offset' operand. @param insn: (C : const insn_t &) the referencing instruction @param from: (C : ea_t) the referencing instruction/data address @param ri: (C : const refinfo_t &) reference info block from the database @param opval: (C : adiff_t) operand value (usually op_t value or op_t addr) @param type: (C : dref_t) type of xref @param opoff: (C : int) offset of the operand from the start of instruction @return: the target address of the reference",
"func":1
},
{
"ref":"ida_offset.calc_target",
"url":35,
"doc":"calc_target(_from, opval, ri) -> ea_t Retrieve refinfo_t structure and calculate the target. @param from: (C : ea_t) @param opval: (C : adiff_t) @param ri: refinfo_t const & calc_target(_from, ea, n, opval) -> ea_t @param from: ea_t @param ea: ea_t @param n: int @param opval: adiff_t",
"func":1
},
{
"ref":"ida_offset.calc_basevalue",
"url":35,
"doc":"calc_basevalue(target, base) -> ea_t Calculate the value of the reference base. @param target: (C : ea_t) @param base: (C : ea_t)",
"func":1
},
{
"ref":"ida_pro",
"url":21,
"doc":"This is the first header included in the IDA project. It defines the most common types, functions and data. Also, it tries to make system dependent definitions. The following preprocessor macros are used in the project (the list may be incomplete) Platform must be specified as one of: __NT__ - MS Windows (all platforms) __LINUX__ - Linux __MAC__ - MAC OS X __EA64__ - 64-bit address size (sizeof(ea_t) 8) __X86__ - 32-bit debug servers (sizeof(void ) 4) __X64__ - x64 processor (sizeof(void ) 8) default __PPC__ - PowerPC __ARM__ - ARM"
},
{
"ref":"ida_pro.IDA_SDK_VERSION",
"url":21,
"doc":"IDA SDK v9.0."
},
{
"ref":"ida_pro.MAXSTR",
"url":21,
"doc":"maximum string size"
},
{
"ref":"ida_pro.qatoll",
"url":21,
"doc":"qatoll(nptr) -> int64 @param nptr: char const  ",
"func":1
},
{
"ref":"ida_pro.qexit",
"url":21,
"doc":"qexit(code) Call qatexit functions, shut down UI and kernel, and exit. @param code: (C : int) exit code",
"func":1
},
{
"ref":"ida_pro.log2ceil",
"url":21,
"doc":"log2ceil(d64) -> int calculate ceil(log2(d64 or floor(log2(d64 , it returns 0 if d64  0 @param d64: (C : uint64)",
"func":1
},
{
"ref":"ida_pro.log2floor",
"url":21,
"doc":"log2floor(d64) -> int @param d64: uint64",
"func":1
},
{
"ref":"ida_pro.extend_sign",
"url":21,
"doc":"extend_sign(v, nbytes, sign_extend) -> uint64 Sign-, or zero-extend the value 'v' to occupy 64 bits. The value 'v' is considered to be of size 'nbytes'. @param v: (C : uint64) @param nbytes: (C : int) @param sign_extend: (C : bool)",
"func":1
},
{
"ref":"ida_pro.readbytes",
"url":21,
"doc":"readbytes(h, res, size, mf) -> int Read at most 4 bytes from file. @param h: (C : int) file handle @param res: (C : uint32  ) value read from file @param size: (C : int) size of value in bytes (1,2,4) @param mf: (C : bool) is MSB first? @return: 0 on success, nonzero otherwise",
"func":1
},
{
"ref":"ida_pro.writebytes",
"url":21,
"doc":"writebytes(h, l, size, mf) -> int Write at most 4 bytes to file. @param h: (C : int) file handle @param l: (C : uint32) value to write @param size: (C : int) size of value in bytes (1,2,4) @param mf: (C : bool) is MSB first? @return: 0 on success, nonzero otherwise",
"func":1
},
{
"ref":"ida_pro.reloc_value",
"url":21,
"doc":"reloc_value(value, size, delta, mf) @param value: void  @param size: int @param delta: adiff_t @param mf: bool",
"func":1
},
{
"ref":"ida_pro.qvector_reserve",
"url":21,
"doc":"qvector_reserve(vec, old, cnt, elsize) -> void  Change capacity of given qvector. @param vec: (C : void  ) a pointer to a qvector @param old: (C : void  ) a pointer to the qvector's array @param cnt: (C : size_t) number of elements to reserve @param elsize: (C : size_t) size of each element @return: a pointer to the newly allocated array",
"func":1
},
{
"ref":"ida_pro.qrefcnt_obj_t",
"url":21,
"doc":"Proxy of C qrefcnt_obj_t class."
},
{
"ref":"ida_pro.qrefcnt_obj_t.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.qrefcnt_obj_t.refcnt",
"url":21,
"doc":"counter"
},
{
"ref":"ida_pro.qrefcnt_obj_t.release",
"url":21,
"doc":"release(self) Call destructor. We use release() instead of operator delete() to maintain binary compatibility with all compilers (vc and gcc use different vtable layouts for operator delete)",
"func":1
},
{
"ref":"ida_pro.relocate_relobj",
"url":21,
"doc":"relocate_relobj(_relobj, ea, mf) -> bool @param _relobj: relobj_t  @param ea: ea_t @param mf: bool",
"func":1
},
{
"ref":"ida_pro.IDBDEC_ESCAPE",
"url":21,
"doc":"convert non-printable characters to C escapes ( , \\xNN, \\uNNNN)"
},
{
"ref":"ida_pro.is_cvt64",
"url":21,
"doc":"is_cvt64() -> bool is IDA converting IDB into I64?",
"func":1
},
{
"ref":"ida_pro.CP_UTF16",
"url":21,
"doc":"UTF-16 codepage."
},
{
"ref":"ida_pro.SUBSTCHAR",
"url":21,
"doc":"default char, used if a char cannot be represented in a codepage"
},
{
"ref":"ida_pro.channel_redir_t",
"url":21,
"doc":"Proxy of C channel_redir_t class. __init__(self) -> channel_redir_t"
},
{
"ref":"ida_pro.channel_redir_t.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.channel_redir_t.fd",
"url":21,
"doc":"channel number"
},
{
"ref":"ida_pro.channel_redir_t.file",
"url":21,
"doc":"file name to redirect to/from. if empty, the channel must be closed."
},
{
"ref":"ida_pro.channel_redir_t.flags",
"url":21,
"doc":"i/o redirection flags"
},
{
"ref":"ida_pro.channel_redir_t.is_input",
"url":21,
"doc":"is_input(self) -> bool",
"func":1
},
{
"ref":"ida_pro.channel_redir_t.is_output",
"url":21,
"doc":"is_output(self) -> bool",
"func":1
},
{
"ref":"ida_pro.channel_redir_t.is_append",
"url":21,
"doc":"is_append(self) -> bool",
"func":1
},
{
"ref":"ida_pro.channel_redir_t.is_quoted",
"url":21,
"doc":"is_quoted(self) -> bool",
"func":1
},
{
"ref":"ida_pro.channel_redir_t.start",
"url":21,
"doc":"begin of the redirection string in the command line"
},
{
"ref":"ida_pro.channel_redir_t.length",
"url":21,
"doc":"length of the redirection string in the command line"
},
{
"ref":"ida_pro.IOREDIR_INPUT",
"url":21,
"doc":"input redirection"
},
{
"ref":"ida_pro.IOREDIR_OUTPUT",
"url":21,
"doc":"output redirection"
},
{
"ref":"ida_pro.IOREDIR_APPEND",
"url":21,
"doc":"append, do not overwrite the output file"
},
{
"ref":"ida_pro.IOREDIR_QUOTED",
"url":21,
"doc":"the file name was quoted"
},
{
"ref":"ida_pro.quote_cmdline_arg",
"url":21,
"doc":"quote_cmdline_arg(arg) -> bool Quote a command line argument if it contains escape characters. For example,  .c will be converted into \" .c\" because  may be inadvertently expanded by the shell @param arg: (C : qstring  ) @return: true: modified 'arg'",
"func":1
},
{
"ref":"ida_pro.plugin_options_t",
"url":21,
"doc":"Proxy of C plugin_options_t class. __init__(self) -> plugin_options_t"
},
{
"ref":"ida_pro.plugin_options_t.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.plugin_options_t.erase",
"url":21,
"doc":"erase(self, name) -> bool @param name: char const  ",
"func":1
},
{
"ref":"ida_pro.instant_dbgopts_t",
"url":21,
"doc":"Proxy of C instant_dbgopts_t class. __init__(self) -> instant_dbgopts_t"
},
{
"ref":"ida_pro.instant_dbgopts_t.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.instant_dbgopts_t.debmod",
"url":21,
"doc":"name of debugger module"
},
{
"ref":"ida_pro.instant_dbgopts_t.env",
"url":21,
"doc":"config variables for debmod. example: DEFAULT_CPU=13;MAXPACKETSIZE=-1"
},
{
"ref":"ida_pro.instant_dbgopts_t.host",
"url":21,
"doc":"remote hostname (if remote debugging)"
},
{
"ref":"ida_pro.instant_dbgopts_t.port",
"url":21,
"doc":"port number for the remote debugger server"
},
{
"ref":"ida_pro.instant_dbgopts_t.pid",
"url":21,
"doc":"process to attach to (-1: ask the user)"
},
{
"ref":"ida_pro.instant_dbgopts_t.event_id",
"url":21,
"doc":"event to trigger upon attaching"
},
{
"ref":"ida_pro.instant_dbgopts_t.attach",
"url":21,
"doc":"should attach to a process?"
},
{
"ref":"ida_pro.parse_dbgopts",
"url":21,
"doc":"parse_dbgopts(ido, r_switch) -> bool Parse the -r command line switch (for instant debugging). r_switch points to the value of the -r switch. Example: win32@localhost+ @param ido: (C : struct instant_dbgopts_t  ) instant_dbgopts_t  @param r_switch: (C : const char  ) char const  @return: true-ok, false-parse error",
"func":1
},
{
"ref":"ida_pro.check_process_exit",
"url":21,
"doc":"check_process_exit(handle, exit_code, msecs=-1) -> int Check whether process has terminated or not. @param handle: (C : void  ) process handle to wait for @param exit_code: (C : int  ) pointer to the buffer for the exit code @param msecs: how long to wait. special values:  0: do not wait  1 or -1: wait infinitely  other values: timeout in milliseconds @retval 0: process has exited, and the exit code is available. if  exit_code < 0: the process was killed with a signal - exit_code @retval 1: process has not exited yet @retval -1: error happened, see error code for winerr() in  exit_code",
"func":1
},
{
"ref":"ida_pro.is_control_tty",
"url":21,
"doc":"is_control_tty(fd) -> enum tty_control_t Check if the current process is the owner of the TTY specified by 'fd' (typically an opened descriptor to /dev/tty). @param fd: (C : int)",
"func":1
},
{
"ref":"ida_pro.qdetach_tty",
"url":21,
"doc":"qdetach_tty() If the current terminal is the controlling terminal of the calling process, give up this controlling terminal. @note: The current terminal is supposed to be /dev/tty",
"func":1
},
{
"ref":"ida_pro.qcontrol_tty",
"url":21,
"doc":"qcontrol_tty() Make the current terminal the controlling terminal of the calling process. @note: The current terminal is supposed to be /dev/tty",
"func":1
},
{
"ref":"ida_pro.qthread_equal",
"url":21,
"doc":"qthread_equal(q1, q2) -> bool Are two threads equal? @param q1: (C : qthread_t) @param q2: (C : qthread_t)",
"func":1
},
{
"ref":"ida_pro.is_main_thread",
"url":21,
"doc":"is_main_thread() -> bool Are we running in the main thread?",
"func":1
},
{
"ref":"ida_pro.qmutex_locker_t",
"url":21,
"doc":"Proxy of C qmutex_locker_t class. __init__(self, _lock) -> qmutex_locker_t @param _lock: qmutex_t"
},
{
"ref":"ida_pro.qmutex_locker_t.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.get_login_name",
"url":21,
"doc":"get_login_name() -> str Get the user name for the current desktop session @return: success",
"func":1
},
{
"ref":"ida_pro.intvec_t",
"url":21,
"doc":"Proxy of C qvector class. __init__(self) -> intvec_t __init__(self, x) -> intvec_t @param x: qvector const &"
},
{
"ref":"ida_pro.intvec_t.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.intvec_t.push_back",
"url":21,
"doc":"push_back(self, x) @param x: int const & push_back(self) -> int &",
"func":1
},
{
"ref":"ida_pro.intvec_t.pop_back",
"url":21,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_pro.intvec_t.size",
"url":21,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_pro.intvec_t.empty",
"url":21,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_pro.intvec_t.at",
"url":21,
"doc":"__getitem__(self, i) -> int const & @param i: size_t",
"func":1
},
{
"ref":"ida_pro.intvec_t.qclear",
"url":21,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_pro.intvec_t.clear",
"url":21,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_pro.intvec_t.resize",
"url":21,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: int const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_pro.intvec_t.capacity",
"url":21,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_pro.intvec_t.reserve",
"url":21,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_pro.intvec_t.truncate",
"url":21,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_pro.intvec_t.swap",
"url":21,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_pro.intvec_t.extract",
"url":21,
"doc":"extract(self) -> int  ",
"func":1
},
{
"ref":"ida_pro.intvec_t.inject",
"url":21,
"doc":"inject(self, s, len) @param s: int  @param len: size_t",
"func":1
},
{
"ref":"ida_pro.intvec_t.begin",
"url":21,
"doc":"begin(self) -> qvector  iterator begin(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_pro.intvec_t.end",
"url":21,
"doc":"end(self) -> qvector  iterator end(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_pro.intvec_t.insert",
"url":21,
"doc":"insert(self, it, x) -> qvector  iterator @param it: qvector  iterator @param x: int const &",
"func":1
},
{
"ref":"ida_pro.intvec_t.erase",
"url":21,
"doc":"erase(self, it) -> qvector  iterator @param it: qvector  iterator erase(self, first, last) -> qvector  iterator @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_pro.intvec_t.find",
"url":21,
"doc":"find(self, x) -> qvector  iterator @param x: int const & find(self, x) -> qvector  const_iterator @param x: int const &",
"func":1
},
{
"ref":"ida_pro.intvec_t.has",
"url":21,
"doc":"has(self, x) -> bool @param x: int const &",
"func":1
},
{
"ref":"ida_pro.intvec_t.add_unique",
"url":21,
"doc":"add_unique(self, x) -> bool @param x: int const &",
"func":1
},
{
"ref":"ida_pro.intvec_t.front",
"url":21,
"doc":"",
"func":1
},
{
"ref":"ida_pro.intvec_t.back",
"url":21,
"doc":"",
"func":1
},
{
"ref":"ida_pro.intvec_t.append",
"url":21,
"doc":"push_back(self, x) @param x: int const & push_back(self) -> int &",
"func":1
},
{
"ref":"ida_pro.uintvec_t",
"url":21,
"doc":"Proxy of C qvector class. __init__(self) -> uintvec_t __init__(self, x) -> uintvec_t @param x: qvector const &"
},
{
"ref":"ida_pro.uintvec_t.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.uintvec_t.push_back",
"url":21,
"doc":"push_back(self, x) @param x: unsigned int const & push_back(self) -> unsigned int &",
"func":1
},
{
"ref":"ida_pro.uintvec_t.pop_back",
"url":21,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_pro.uintvec_t.size",
"url":21,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_pro.uintvec_t.empty",
"url":21,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_pro.uintvec_t.at",
"url":21,
"doc":"__getitem__(self, i) -> unsigned int const & @param i: size_t",
"func":1
},
{
"ref":"ida_pro.uintvec_t.qclear",
"url":21,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_pro.uintvec_t.clear",
"url":21,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_pro.uintvec_t.resize",
"url":21,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: unsigned int const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_pro.uintvec_t.capacity",
"url":21,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_pro.uintvec_t.reserve",
"url":21,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_pro.uintvec_t.truncate",
"url":21,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_pro.uintvec_t.swap",
"url":21,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_pro.uintvec_t.extract",
"url":21,
"doc":"extract(self) -> unsigned int  ",
"func":1
},
{
"ref":"ida_pro.uintvec_t.inject",
"url":21,
"doc":"inject(self, s, len) @param s: unsigned int  @param len: size_t",
"func":1
},
{
"ref":"ida_pro.uintvec_t.begin",
"url":21,
"doc":"begin(self) -> qvector  iterator begin(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_pro.uintvec_t.end",
"url":21,
"doc":"end(self) -> qvector  iterator end(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_pro.uintvec_t.insert",
"url":21,
"doc":"insert(self, it, x) -> qvector  iterator @param it: qvector  iterator @param x: unsigned int const &",
"func":1
},
{
"ref":"ida_pro.uintvec_t.erase",
"url":21,
"doc":"erase(self, it) -> qvector  iterator @param it: qvector  iterator erase(self, first, last) -> qvector  iterator @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_pro.uintvec_t.find",
"url":21,
"doc":"find(self, x) -> qvector  iterator @param x: unsigned int const & find(self, x) -> qvector  const_iterator @param x: unsigned int const &",
"func":1
},
{
"ref":"ida_pro.uintvec_t.has",
"url":21,
"doc":"has(self, x) -> bool @param x: unsigned int const &",
"func":1
},
{
"ref":"ida_pro.uintvec_t.add_unique",
"url":21,
"doc":"add_unique(self, x) -> bool @param x: unsigned int const &",
"func":1
},
{
"ref":"ida_pro.uintvec_t.front",
"url":21,
"doc":"",
"func":1
},
{
"ref":"ida_pro.uintvec_t.back",
"url":21,
"doc":"",
"func":1
},
{
"ref":"ida_pro.uintvec_t.append",
"url":21,
"doc":"push_back(self, x) @param x: unsigned int const & push_back(self) -> unsigned int &",
"func":1
},
{
"ref":"ida_pro.int64vec_t",
"url":21,
"doc":"Proxy of C qvector class. __init__(self) -> int64vec_t __init__(self, x) -> int64vec_t @param x: qvector const &"
},
{
"ref":"ida_pro.int64vec_t.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.int64vec_t.push_back",
"url":21,
"doc":"push_back(self, x) @param x: long long const & push_back(self) -> long long &",
"func":1
},
{
"ref":"ida_pro.int64vec_t.pop_back",
"url":21,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_pro.int64vec_t.size",
"url":21,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_pro.int64vec_t.empty",
"url":21,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_pro.int64vec_t.at",
"url":21,
"doc":"__getitem__(self, i) -> long long const & @param i: size_t",
"func":1
},
{
"ref":"ida_pro.int64vec_t.qclear",
"url":21,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_pro.int64vec_t.clear",
"url":21,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_pro.int64vec_t.resize",
"url":21,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: long long const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_pro.int64vec_t.capacity",
"url":21,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_pro.int64vec_t.reserve",
"url":21,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_pro.int64vec_t.truncate",
"url":21,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_pro.int64vec_t.swap",
"url":21,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_pro.int64vec_t.extract",
"url":21,
"doc":"extract(self) -> long long  ",
"func":1
},
{
"ref":"ida_pro.int64vec_t.inject",
"url":21,
"doc":"inject(self, s, len) @param s: long long  @param len: size_t",
"func":1
},
{
"ref":"ida_pro.int64vec_t.begin",
"url":21,
"doc":"begin(self) -> qvector  iterator begin(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_pro.int64vec_t.end",
"url":21,
"doc":"end(self) -> qvector  iterator end(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_pro.int64vec_t.insert",
"url":21,
"doc":"insert(self, it, x) -> qvector  iterator @param it: qvector  iterator @param x: long long const &",
"func":1
},
{
"ref":"ida_pro.int64vec_t.erase",
"url":21,
"doc":"erase(self, it) -> qvector  iterator @param it: qvector  iterator erase(self, first, last) -> qvector  iterator @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_pro.int64vec_t.find",
"url":21,
"doc":"find(self, x) -> qvector  iterator @param x: long long const & find(self, x) -> qvector  const_iterator @param x: long long const &",
"func":1
},
{
"ref":"ida_pro.int64vec_t.has",
"url":21,
"doc":"has(self, x) -> bool @param x: long long const &",
"func":1
},
{
"ref":"ida_pro.int64vec_t.add_unique",
"url":21,
"doc":"add_unique(self, x) -> bool @param x: long long const &",
"func":1
},
{
"ref":"ida_pro.int64vec_t.front",
"url":21,
"doc":"",
"func":1
},
{
"ref":"ida_pro.int64vec_t.back",
"url":21,
"doc":"",
"func":1
},
{
"ref":"ida_pro.int64vec_t.append",
"url":21,
"doc":"push_back(self, x) @param x: long long const & push_back(self) -> long long &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t",
"url":21,
"doc":"Proxy of C qvector class. __init__(self) -> uint64vec_t __init__(self, x) -> uint64vec_t @param x: qvector const &"
},
{
"ref":"ida_pro.uint64vec_t.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.uint64vec_t.push_back",
"url":21,
"doc":"push_back(self, x) @param x: unsigned long long const & push_back(self) -> unsigned long long &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.pop_back",
"url":21,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.size",
"url":21,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.empty",
"url":21,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.at",
"url":21,
"doc":"__getitem__(self, i) -> unsigned long long const & @param i: size_t",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.qclear",
"url":21,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.clear",
"url":21,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.resize",
"url":21,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: unsigned long long const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.capacity",
"url":21,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.reserve",
"url":21,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.truncate",
"url":21,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.swap",
"url":21,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.extract",
"url":21,
"doc":"extract(self) -> unsigned long long  ",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.inject",
"url":21,
"doc":"inject(self, s, len) @param s: unsigned long long  @param len: size_t",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.begin",
"url":21,
"doc":"begin(self) -> qvector  iterator begin(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.end",
"url":21,
"doc":"end(self) -> qvector  iterator end(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.insert",
"url":21,
"doc":"insert(self, it, x) -> qvector  iterator @param it: qvector  iterator @param x: unsigned long long const &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.erase",
"url":21,
"doc":"erase(self, it) -> qvector  iterator @param it: qvector  iterator erase(self, first, last) -> qvector  iterator @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.find",
"url":21,
"doc":"find(self, x) -> qvector  iterator @param x: unsigned long long const & find(self, x) -> qvector  const_iterator @param x: unsigned long long const &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.has",
"url":21,
"doc":"has(self, x) -> bool @param x: unsigned long long const &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.add_unique",
"url":21,
"doc":"add_unique(self, x) -> bool @param x: unsigned long long const &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.front",
"url":21,
"doc":"",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.back",
"url":21,
"doc":"",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.append",
"url":21,
"doc":"push_back(self, x) @param x: unsigned long long const & push_back(self) -> unsigned long long &",
"func":1
},
{
"ref":"ida_pro.boolvec_t",
"url":21,
"doc":"Proxy of C qvector class. __init__(self) -> boolvec_t __init__(self, x) -> boolvec_t @param x: qvector const &"
},
{
"ref":"ida_pro.boolvec_t.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.boolvec_t.push_back",
"url":21,
"doc":"push_back(self, x) @param x: bool const & push_back(self) -> bool &",
"func":1
},
{
"ref":"ida_pro.boolvec_t.pop_back",
"url":21,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_pro.boolvec_t.size",
"url":21,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_pro.boolvec_t.empty",
"url":21,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_pro.boolvec_t.at",
"url":21,
"doc":"__getitem__(self, i) -> bool const & @param i: size_t",
"func":1
},
{
"ref":"ida_pro.boolvec_t.qclear",
"url":21,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_pro.boolvec_t.clear",
"url":21,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_pro.boolvec_t.resize",
"url":21,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: bool const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_pro.boolvec_t.grow",
"url":21,
"doc":"grow(self, x=bool( @param x: bool const &",
"func":1
},
{
"ref":"ida_pro.boolvec_t.capacity",
"url":21,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_pro.boolvec_t.reserve",
"url":21,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_pro.boolvec_t.truncate",
"url":21,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_pro.boolvec_t.swap",
"url":21,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_pro.boolvec_t.extract",
"url":21,
"doc":"extract(self) -> bool  ",
"func":1
},
{
"ref":"ida_pro.boolvec_t.inject",
"url":21,
"doc":"inject(self, s, len) @param s: bool  @param len: size_t",
"func":1
},
{
"ref":"ida_pro.boolvec_t.begin",
"url":21,
"doc":"begin(self) -> qvector  iterator begin(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_pro.boolvec_t.end",
"url":21,
"doc":"end(self) -> qvector  iterator end(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_pro.boolvec_t.insert",
"url":21,
"doc":"insert(self, it, x) -> qvector  iterator @param it: qvector  iterator @param x: bool const &",
"func":1
},
{
"ref":"ida_pro.boolvec_t.erase",
"url":21,
"doc":"erase(self, it) -> qvector  iterator @param it: qvector  iterator erase(self, first, last) -> qvector  iterator @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_pro.boolvec_t.find",
"url":21,
"doc":"find(self, x) -> qvector  iterator @param x: bool const & find(self, x) -> qvector  const_iterator @param x: bool const &",
"func":1
},
{
"ref":"ida_pro.boolvec_t.has",
"url":21,
"doc":"has(self, x) -> bool @param x: bool const &",
"func":1
},
{
"ref":"ida_pro.boolvec_t.add_unique",
"url":21,
"doc":"add_unique(self, x) -> bool @param x: bool const &",
"func":1
},
{
"ref":"ida_pro.boolvec_t.front",
"url":21,
"doc":"",
"func":1
},
{
"ref":"ida_pro.boolvec_t.back",
"url":21,
"doc":"",
"func":1
},
{
"ref":"ida_pro.boolvec_t.append",
"url":21,
"doc":"push_back(self, x) @param x: bool const & push_back(self) -> bool &",
"func":1
},
{
"ref":"ida_pro.strvec_t",
"url":21,
"doc":"Proxy of C qvector class. __init__(self) -> strvec_t __init__(self, x) -> strvec_t @param x: qvector const &"
},
{
"ref":"ida_pro.strvec_t.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.strvec_t.push_back",
"url":21,
"doc":"push_back(self, x) @param x: simpleline_t const & push_back(self) -> simpleline_t &",
"func":1
},
{
"ref":"ida_pro.strvec_t.pop_back",
"url":21,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_pro.strvec_t.size",
"url":21,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_pro.strvec_t.empty",
"url":21,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_pro.strvec_t.at",
"url":21,
"doc":"__getitem__(self, i) -> simpleline_t const & @param i: size_t",
"func":1
},
{
"ref":"ida_pro.strvec_t.qclear",
"url":21,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_pro.strvec_t.clear",
"url":21,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_pro.strvec_t.resize",
"url":21,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: simpleline_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_pro.strvec_t.grow",
"url":21,
"doc":"grow(self, x=simpleline_t( @param x: simpleline_t const &",
"func":1
},
{
"ref":"ida_pro.strvec_t.capacity",
"url":21,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_pro.strvec_t.reserve",
"url":21,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_pro.strvec_t.truncate",
"url":21,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_pro.strvec_t.swap",
"url":21,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_pro.strvec_t.extract",
"url":21,
"doc":"extract(self) -> simpleline_t  ",
"func":1
},
{
"ref":"ida_pro.strvec_t.inject",
"url":21,
"doc":"inject(self, s, len) @param s: simpleline_t  @param len: size_t",
"func":1
},
{
"ref":"ida_pro.strvec_t.begin",
"url":21,
"doc":"begin(self) -> qvector  iterator begin(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_pro.strvec_t.end",
"url":21,
"doc":"end(self) -> qvector  iterator end(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_pro.strvec_t.insert",
"url":21,
"doc":"insert(self, it, x) -> qvector  iterator @param it: qvector  iterator @param x: simpleline_t const &",
"func":1
},
{
"ref":"ida_pro.strvec_t.erase",
"url":21,
"doc":"erase(self, it) -> qvector  iterator @param it: qvector  iterator erase(self, first, last) -> qvector  iterator @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_pro.strvec_t.front",
"url":21,
"doc":"",
"func":1
},
{
"ref":"ida_pro.strvec_t.back",
"url":21,
"doc":"",
"func":1
},
{
"ref":"ida_pro.strvec_t.append",
"url":21,
"doc":"push_back(self, x) @param x: simpleline_t const & push_back(self) -> simpleline_t &",
"func":1
},
{
"ref":"ida_pro.sizevec_t",
"url":21,
"doc":"Proxy of C qvector class. __init__(self) -> sizevec_t __init__(self, x) -> sizevec_t @param x: qvector const &"
},
{
"ref":"ida_pro.sizevec_t.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.sizevec_t.push_back",
"url":21,
"doc":"push_back(self, x) @param x: size_t const & push_back(self) -> size_t &",
"func":1
},
{
"ref":"ida_pro.sizevec_t.pop_back",
"url":21,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_pro.sizevec_t.size",
"url":21,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_pro.sizevec_t.empty",
"url":21,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_pro.sizevec_t.at",
"url":21,
"doc":"at(self, _idx) -> size_t const & @param _idx: size_t",
"func":1
},
{
"ref":"ida_pro.sizevec_t.qclear",
"url":21,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_pro.sizevec_t.clear",
"url":21,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_pro.sizevec_t.resize",
"url":21,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: size_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_pro.sizevec_t.grow",
"url":21,
"doc":"grow(self, x=size_t( @param x: size_t const &",
"func":1
},
{
"ref":"ida_pro.sizevec_t.capacity",
"url":21,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_pro.sizevec_t.reserve",
"url":21,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_pro.sizevec_t.truncate",
"url":21,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_pro.sizevec_t.swap",
"url":21,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_pro.sizevec_t.extract",
"url":21,
"doc":"extract(self) -> size_t  ",
"func":1
},
{
"ref":"ida_pro.sizevec_t.inject",
"url":21,
"doc":"inject(self, s, len) @param s: size_t  @param len: size_t",
"func":1
},
{
"ref":"ida_pro.sizevec_t.begin",
"url":21,
"doc":"begin(self) -> qvector  iterator begin(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_pro.sizevec_t.end",
"url":21,
"doc":"end(self) -> qvector  iterator end(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_pro.sizevec_t.insert",
"url":21,
"doc":"insert(self, it, x) -> qvector  iterator @param it: qvector  iterator @param x: size_t const &",
"func":1
},
{
"ref":"ida_pro.sizevec_t.erase",
"url":21,
"doc":"erase(self, it) -> qvector  iterator @param it: qvector  iterator erase(self, first, last) -> qvector  iterator @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_pro.sizevec_t.find",
"url":21,
"doc":"find(self, x) -> qvector  iterator @param x: size_t const & find(self, x) -> qvector  const_iterator @param x: size_t const &",
"func":1
},
{
"ref":"ida_pro.sizevec_t.has",
"url":21,
"doc":"has(self, x) -> bool @param x: size_t const &",
"func":1
},
{
"ref":"ida_pro.sizevec_t.add_unique",
"url":21,
"doc":"add_unique(self, x) -> bool @param x: size_t const &",
"func":1
},
{
"ref":"ida_pro.sizevec_t.front",
"url":21,
"doc":"",
"func":1
},
{
"ref":"ida_pro.sizevec_t.back",
"url":21,
"doc":"",
"func":1
},
{
"ref":"ida_pro.qstrvec_t_create",
"url":21,
"doc":"qstrvec_t_create() -> PyObject  ",
"func":1
},
{
"ref":"ida_pro.qstrvec_t_destroy",
"url":21,
"doc":"qstrvec_t_destroy(py_obj) -> bool @param py_obj: PyObject  ",
"func":1
},
{
"ref":"ida_pro.qstrvec_t_get_clink",
"url":21,
"doc":"qstrvec_t_get_clink(_self) -> qstrvec_t  @param self: PyObject  ",
"func":1
},
{
"ref":"ida_pro.qstrvec_t_get_clink_ptr",
"url":21,
"doc":"qstrvec_t_get_clink_ptr(_self) -> PyObject  @param self: PyObject  ",
"func":1
},
{
"ref":"ida_pro.qstrvec_t_assign",
"url":21,
"doc":"qstrvec_t_assign(_self, other) -> bool @param self: PyObject  @param other: PyObject  ",
"func":1
},
{
"ref":"ida_pro.qstrvec_t_addressof",
"url":21,
"doc":"qstrvec_t_addressof(_self, idx) -> PyObject  @param self: PyObject  @param idx: size_t",
"func":1
},
{
"ref":"ida_pro.qstrvec_t_set",
"url":21,
"doc":"qstrvec_t_set(_self, idx, s) -> bool @param self: PyObject  @param idx: size_t @param s: char const  ",
"func":1
},
{
"ref":"ida_pro.qstrvec_t_from_list",
"url":21,
"doc":"qstrvec_t_from_list(_self, py_list) -> bool @param self: PyObject  @param py_list: PyObject  ",
"func":1
},
{
"ref":"ida_pro.qstrvec_t_size",
"url":21,
"doc":"qstrvec_t_size(_self) -> size_t @param self: PyObject  ",
"func":1
},
{
"ref":"ida_pro.qstrvec_t_get",
"url":21,
"doc":"qstrvec_t_get(_self, idx) -> PyObject  @param self: PyObject  @param idx: size_t",
"func":1
},
{
"ref":"ida_pro.qstrvec_t_add",
"url":21,
"doc":"qstrvec_t_add(_self, s) -> bool @param self: PyObject  @param s: char const  ",
"func":1
},
{
"ref":"ida_pro.qstrvec_t_clear",
"url":21,
"doc":"qstrvec_t_clear(_self, qclear) -> bool @param self: PyObject  @param qclear: bool",
"func":1
},
{
"ref":"ida_pro.qstrvec_t_insert",
"url":21,
"doc":"qstrvec_t_insert(_self, idx, s) -> bool @param self: PyObject  @param idx: size_t @param s: char const  ",
"func":1
},
{
"ref":"ida_pro.qstrvec_t_remove",
"url":21,
"doc":"qstrvec_t_remove(_self, idx) -> bool @param self: PyObject  @param idx: size_t",
"func":1
},
{
"ref":"ida_pro.str2user",
"url":21,
"doc":"str2user(str) -> str or None Insert C-style escape characters to string @param str: char const  @return: new string with escape characters inserted",
"func":1
},
{
"ref":"ida_pro.uchar_array",
"url":21,
"doc":"Proxy of C uchar_array class. __init__(self, nelements) -> uchar_array @param nelements: size_t"
},
{
"ref":"ida_pro.uchar_array.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.uchar_array.cast",
"url":21,
"doc":"cast(self) -> uchar  ",
"func":1
},
{
"ref":"ida_pro.uchar_array.frompointer",
"url":21,
"doc":"frompointer(t) -> uchar_array @param t: uchar  ",
"func":1
},
{
"ref":"ida_pro.tid_array",
"url":21,
"doc":"Proxy of C tid_array class. __init__(self, nelements) -> tid_array @param nelements: size_t"
},
{
"ref":"ida_pro.tid_array.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.tid_array.cast",
"url":21,
"doc":"cast(self) -> tid_t  ",
"func":1
},
{
"ref":"ida_pro.tid_array.frompointer",
"url":21,
"doc":"frompointer(t) -> tid_array @param t: tid_t  ",
"func":1
},
{
"ref":"ida_pro.ea_array",
"url":21,
"doc":"Proxy of C ea_array class. __init__(self, nelements) -> ea_array @param nelements: size_t"
},
{
"ref":"ida_pro.ea_array.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.ea_array.cast",
"url":21,
"doc":"cast(self) -> ea_t  ",
"func":1
},
{
"ref":"ida_pro.ea_array.frompointer",
"url":21,
"doc":"frompointer(t) -> ea_array @param t: ea_t  ",
"func":1
},
{
"ref":"ida_pro.sel_array",
"url":21,
"doc":"Proxy of C sel_array class. __init__(self, nelements) -> sel_array @param nelements: size_t"
},
{
"ref":"ida_pro.sel_array.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.sel_array.cast",
"url":21,
"doc":"cast(self) -> sel_t  ",
"func":1
},
{
"ref":"ida_pro.sel_array.frompointer",
"url":21,
"doc":"frompointer(t) -> sel_array @param t: sel_t  ",
"func":1
},
{
"ref":"ida_pro.uval_array",
"url":21,
"doc":"Proxy of C uval_array class. __init__(self, nelements) -> uval_array @param nelements: size_t"
},
{
"ref":"ida_pro.uval_array.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.uval_array.cast",
"url":21,
"doc":"cast(self) -> uval_t  ",
"func":1
},
{
"ref":"ida_pro.uval_array.frompointer",
"url":21,
"doc":"frompointer(t) -> uval_array @param t: uval_t  ",
"func":1
},
{
"ref":"ida_pro.uchar_pointer",
"url":21,
"doc":"Proxy of C uchar_pointer class. __init__(self) -> uchar_pointer"
},
{
"ref":"ida_pro.uchar_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.uchar_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: uchar",
"func":1
},
{
"ref":"ida_pro.uchar_pointer.value",
"url":21,
"doc":"value(self) -> uchar",
"func":1
},
{
"ref":"ida_pro.uchar_pointer.cast",
"url":21,
"doc":"cast(self) -> uchar  ",
"func":1
},
{
"ref":"ida_pro.uchar_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> uchar_pointer @param t: uchar  ",
"func":1
},
{
"ref":"ida_pro.ushort_pointer",
"url":21,
"doc":"Proxy of C ushort_pointer class. __init__(self) -> ushort_pointer"
},
{
"ref":"ida_pro.ushort_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.ushort_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: ushort",
"func":1
},
{
"ref":"ida_pro.ushort_pointer.value",
"url":21,
"doc":"value(self) -> ushort",
"func":1
},
{
"ref":"ida_pro.ushort_pointer.cast",
"url":21,
"doc":"cast(self) -> ushort  ",
"func":1
},
{
"ref":"ida_pro.ushort_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> ushort_pointer @param t: ushort  ",
"func":1
},
{
"ref":"ida_pro.uint_pointer",
"url":21,
"doc":"Proxy of C uint_pointer class. __init__(self) -> uint_pointer"
},
{
"ref":"ida_pro.uint_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.uint_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: uint",
"func":1
},
{
"ref":"ida_pro.uint_pointer.value",
"url":21,
"doc":"value(self) -> uint",
"func":1
},
{
"ref":"ida_pro.uint_pointer.cast",
"url":21,
"doc":"cast(self) -> uint  ",
"func":1
},
{
"ref":"ida_pro.uint_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> uint_pointer @param t: uint  ",
"func":1
},
{
"ref":"ida_pro.sint8_pointer",
"url":21,
"doc":"Proxy of C sint8_pointer class. __init__(self) -> sint8_pointer"
},
{
"ref":"ida_pro.sint8_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.sint8_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: sint8",
"func":1
},
{
"ref":"ida_pro.sint8_pointer.value",
"url":21,
"doc":"value(self) -> sint8",
"func":1
},
{
"ref":"ida_pro.sint8_pointer.cast",
"url":21,
"doc":"cast(self) -> sint8  ",
"func":1
},
{
"ref":"ida_pro.sint8_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> sint8_pointer @param t: sint8  ",
"func":1
},
{
"ref":"ida_pro.int8_pointer",
"url":21,
"doc":"Proxy of C int8_pointer class. __init__(self) -> int8_pointer"
},
{
"ref":"ida_pro.int8_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.int8_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: int8",
"func":1
},
{
"ref":"ida_pro.int8_pointer.value",
"url":21,
"doc":"value(self) -> int8",
"func":1
},
{
"ref":"ida_pro.int8_pointer.cast",
"url":21,
"doc":"cast(self) -> int8  ",
"func":1
},
{
"ref":"ida_pro.int8_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> int8_pointer @param t: int8  ",
"func":1
},
{
"ref":"ida_pro.uint8_pointer",
"url":21,
"doc":"Proxy of C uint8_pointer class. __init__(self) -> uint8_pointer"
},
{
"ref":"ida_pro.uint8_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.uint8_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: uint8",
"func":1
},
{
"ref":"ida_pro.uint8_pointer.value",
"url":21,
"doc":"value(self) -> uint8",
"func":1
},
{
"ref":"ida_pro.uint8_pointer.cast",
"url":21,
"doc":"cast(self) -> uint8  ",
"func":1
},
{
"ref":"ida_pro.uint8_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> uint8_pointer @param t: uint8  ",
"func":1
},
{
"ref":"ida_pro.int16_pointer",
"url":21,
"doc":"Proxy of C int16_pointer class. __init__(self) -> int16_pointer"
},
{
"ref":"ida_pro.int16_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.int16_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: int16",
"func":1
},
{
"ref":"ida_pro.int16_pointer.value",
"url":21,
"doc":"value(self) -> int16",
"func":1
},
{
"ref":"ida_pro.int16_pointer.cast",
"url":21,
"doc":"cast(self) -> int16  ",
"func":1
},
{
"ref":"ida_pro.int16_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> int16_pointer @param t: int16  ",
"func":1
},
{
"ref":"ida_pro.uint16_pointer",
"url":21,
"doc":"Proxy of C uint16_pointer class. __init__(self) -> uint16_pointer"
},
{
"ref":"ida_pro.uint16_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.uint16_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: uint16",
"func":1
},
{
"ref":"ida_pro.uint16_pointer.value",
"url":21,
"doc":"value(self) -> uint16",
"func":1
},
{
"ref":"ida_pro.uint16_pointer.cast",
"url":21,
"doc":"cast(self) -> uint16  ",
"func":1
},
{
"ref":"ida_pro.uint16_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> uint16_pointer @param t: uint16  ",
"func":1
},
{
"ref":"ida_pro.int32_pointer",
"url":21,
"doc":"Proxy of C int32_pointer class. __init__(self) -> int32_pointer"
},
{
"ref":"ida_pro.int32_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.int32_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: int32",
"func":1
},
{
"ref":"ida_pro.int32_pointer.value",
"url":21,
"doc":"value(self) -> int32",
"func":1
},
{
"ref":"ida_pro.int32_pointer.cast",
"url":21,
"doc":"cast(self) -> int32  ",
"func":1
},
{
"ref":"ida_pro.int32_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> int32_pointer @param t: int32  ",
"func":1
},
{
"ref":"ida_pro.uint32_pointer",
"url":21,
"doc":"Proxy of C uint32_pointer class. __init__(self) -> uint32_pointer"
},
{
"ref":"ida_pro.uint32_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.uint32_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: uint32",
"func":1
},
{
"ref":"ida_pro.uint32_pointer.value",
"url":21,
"doc":"value(self) -> uint32",
"func":1
},
{
"ref":"ida_pro.uint32_pointer.cast",
"url":21,
"doc":"cast(self) -> uint32  ",
"func":1
},
{
"ref":"ida_pro.uint32_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> uint32_pointer @param t: uint32  ",
"func":1
},
{
"ref":"ida_pro.int64_pointer",
"url":21,
"doc":"Proxy of C int64_pointer class. __init__(self) -> int64_pointer"
},
{
"ref":"ida_pro.int64_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.int64_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: int64",
"func":1
},
{
"ref":"ida_pro.int64_pointer.value",
"url":21,
"doc":"value(self) -> int64",
"func":1
},
{
"ref":"ida_pro.int64_pointer.cast",
"url":21,
"doc":"cast(self) -> int64  ",
"func":1
},
{
"ref":"ida_pro.int64_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> int64_pointer @param t: int64  ",
"func":1
},
{
"ref":"ida_pro.uint64_pointer",
"url":21,
"doc":"Proxy of C uint64_pointer class. __init__(self) -> uint64_pointer"
},
{
"ref":"ida_pro.uint64_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.uint64_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: uint64",
"func":1
},
{
"ref":"ida_pro.uint64_pointer.value",
"url":21,
"doc":"value(self) -> uint64",
"func":1
},
{
"ref":"ida_pro.uint64_pointer.cast",
"url":21,
"doc":"cast(self) -> uint64  ",
"func":1
},
{
"ref":"ida_pro.uint64_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> uint64_pointer @param t: uint64  ",
"func":1
},
{
"ref":"ida_pro.ssize_pointer",
"url":21,
"doc":"Proxy of C ssize_pointer class. __init__(self) -> ssize_pointer"
},
{
"ref":"ida_pro.ssize_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.ssize_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: ssize_t",
"func":1
},
{
"ref":"ida_pro.ssize_pointer.value",
"url":21,
"doc":"value(self) -> ssize_t",
"func":1
},
{
"ref":"ida_pro.ssize_pointer.cast",
"url":21,
"doc":"cast(self) -> ssize_t  ",
"func":1
},
{
"ref":"ida_pro.ssize_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> ssize_pointer @param t: ssize_t  ",
"func":1
},
{
"ref":"ida_pro.bool_pointer",
"url":21,
"doc":"Proxy of C bool_pointer class. __init__(self) -> bool_pointer"
},
{
"ref":"ida_pro.bool_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.bool_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: bool",
"func":1
},
{
"ref":"ida_pro.bool_pointer.value",
"url":21,
"doc":"value(self) -> bool",
"func":1
},
{
"ref":"ida_pro.bool_pointer.cast",
"url":21,
"doc":"cast(self) -> bool  ",
"func":1
},
{
"ref":"ida_pro.bool_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> bool_pointer @param t: bool  ",
"func":1
},
{
"ref":"ida_pro.char_pointer",
"url":21,
"doc":"Proxy of C char_pointer class. __init__(self) -> char_pointer"
},
{
"ref":"ida_pro.char_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.char_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: char",
"func":1
},
{
"ref":"ida_pro.char_pointer.value",
"url":21,
"doc":"value(self) -> char",
"func":1
},
{
"ref":"ida_pro.char_pointer.cast",
"url":21,
"doc":"cast(self) -> char  ",
"func":1
},
{
"ref":"ida_pro.char_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> char_pointer @param t: char  ",
"func":1
},
{
"ref":"ida_pro.short_pointer",
"url":21,
"doc":"Proxy of C short_pointer class. __init__(self) -> short_pointer"
},
{
"ref":"ida_pro.short_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.short_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: short",
"func":1
},
{
"ref":"ida_pro.short_pointer.value",
"url":21,
"doc":"value(self) -> short",
"func":1
},
{
"ref":"ida_pro.short_pointer.cast",
"url":21,
"doc":"cast(self) -> short  ",
"func":1
},
{
"ref":"ida_pro.short_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> short_pointer @param t: short  ",
"func":1
},
{
"ref":"ida_pro.int_pointer",
"url":21,
"doc":"Proxy of C int_pointer class. __init__(self) -> int_pointer"
},
{
"ref":"ida_pro.int_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.int_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: int",
"func":1
},
{
"ref":"ida_pro.int_pointer.value",
"url":21,
"doc":"value(self) -> int",
"func":1
},
{
"ref":"ida_pro.int_pointer.cast",
"url":21,
"doc":"cast(self) -> int  ",
"func":1
},
{
"ref":"ida_pro.int_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> int_pointer @param t: int  ",
"func":1
},
{
"ref":"ida_pro.ea_pointer",
"url":21,
"doc":"Proxy of C ea_pointer class. __init__(self) -> ea_pointer"
},
{
"ref":"ida_pro.ea_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.ea_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: ea_t",
"func":1
},
{
"ref":"ida_pro.ea_pointer.value",
"url":21,
"doc":"value(self) -> ea_t",
"func":1
},
{
"ref":"ida_pro.ea_pointer.cast",
"url":21,
"doc":"cast(self) -> ea_t  ",
"func":1
},
{
"ref":"ida_pro.ea_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> ea_pointer @param t: ea_t  ",
"func":1
},
{
"ref":"ida_pro.sel_pointer",
"url":21,
"doc":"Proxy of C sel_pointer class. __init__(self) -> sel_pointer"
},
{
"ref":"ida_pro.sel_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.sel_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: sel_t",
"func":1
},
{
"ref":"ida_pro.sel_pointer.value",
"url":21,
"doc":"value(self) -> sel_t",
"func":1
},
{
"ref":"ida_pro.sel_pointer.cast",
"url":21,
"doc":"cast(self) -> sel_t  ",
"func":1
},
{
"ref":"ida_pro.sel_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> sel_pointer @param t: sel_t  ",
"func":1
},
{
"ref":"ida_pro.asize_pointer",
"url":21,
"doc":"Proxy of C asize_pointer class. __init__(self) -> asize_pointer"
},
{
"ref":"ida_pro.asize_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.asize_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: asize_t",
"func":1
},
{
"ref":"ida_pro.asize_pointer.value",
"url":21,
"doc":"value(self) -> asize_t",
"func":1
},
{
"ref":"ida_pro.asize_pointer.cast",
"url":21,
"doc":"cast(self) -> asize_t  ",
"func":1
},
{
"ref":"ida_pro.asize_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> asize_pointer @param t: asize_t  ",
"func":1
},
{
"ref":"ida_pro.adiff_pointer",
"url":21,
"doc":"Proxy of C adiff_pointer class. __init__(self) -> adiff_pointer"
},
{
"ref":"ida_pro.adiff_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.adiff_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: adiff_t",
"func":1
},
{
"ref":"ida_pro.adiff_pointer.value",
"url":21,
"doc":"value(self) -> adiff_t",
"func":1
},
{
"ref":"ida_pro.adiff_pointer.cast",
"url":21,
"doc":"cast(self) -> adiff_t  ",
"func":1
},
{
"ref":"ida_pro.adiff_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> adiff_pointer @param t: adiff_t  ",
"func":1
},
{
"ref":"ida_pro.uval_pointer",
"url":21,
"doc":"Proxy of C uval_pointer class. __init__(self) -> uval_pointer"
},
{
"ref":"ida_pro.uval_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.uval_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: uval_t",
"func":1
},
{
"ref":"ida_pro.uval_pointer.value",
"url":21,
"doc":"value(self) -> uval_t",
"func":1
},
{
"ref":"ida_pro.uval_pointer.cast",
"url":21,
"doc":"cast(self) -> uval_t  ",
"func":1
},
{
"ref":"ida_pro.uval_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> uval_pointer @param t: uval_t  ",
"func":1
},
{
"ref":"ida_pro.sval_pointer",
"url":21,
"doc":"Proxy of C sval_pointer class. __init__(self) -> sval_pointer"
},
{
"ref":"ida_pro.sval_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.sval_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: sval_t",
"func":1
},
{
"ref":"ida_pro.sval_pointer.value",
"url":21,
"doc":"value(self) -> sval_t",
"func":1
},
{
"ref":"ida_pro.sval_pointer.cast",
"url":21,
"doc":"cast(self) -> sval_t  ",
"func":1
},
{
"ref":"ida_pro.sval_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> sval_pointer @param t: sval_t  ",
"func":1
},
{
"ref":"ida_pro.ea32_pointer",
"url":21,
"doc":"Proxy of C ea32_pointer class. __init__(self) -> ea32_pointer"
},
{
"ref":"ida_pro.ea32_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.ea32_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: ea32_t",
"func":1
},
{
"ref":"ida_pro.ea32_pointer.value",
"url":21,
"doc":"value(self) -> ea32_t",
"func":1
},
{
"ref":"ida_pro.ea32_pointer.cast",
"url":21,
"doc":"cast(self) -> ea32_t  ",
"func":1
},
{
"ref":"ida_pro.ea32_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> ea32_pointer @param t: ea32_t  ",
"func":1
},
{
"ref":"ida_pro.ea64_pointer",
"url":21,
"doc":"Proxy of C ea64_pointer class. __init__(self) -> ea64_pointer"
},
{
"ref":"ida_pro.ea64_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.ea64_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: ea64_t",
"func":1
},
{
"ref":"ida_pro.ea64_pointer.value",
"url":21,
"doc":"value(self) -> ea64_t",
"func":1
},
{
"ref":"ida_pro.ea64_pointer.cast",
"url":21,
"doc":"cast(self) -> ea64_t  ",
"func":1
},
{
"ref":"ida_pro.ea64_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> ea64_pointer @param t: ea64_t  ",
"func":1
},
{
"ref":"ida_pro.flags_pointer",
"url":21,
"doc":"Proxy of C flags_pointer class. __init__(self) -> flags_pointer"
},
{
"ref":"ida_pro.flags_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.flags_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: flags_t",
"func":1
},
{
"ref":"ida_pro.flags_pointer.value",
"url":21,
"doc":"value(self) -> flags_t",
"func":1
},
{
"ref":"ida_pro.flags_pointer.cast",
"url":21,
"doc":"cast(self) -> flags_t  ",
"func":1
},
{
"ref":"ida_pro.flags_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> flags_pointer @param t: flags_t  ",
"func":1
},
{
"ref":"ida_pro.flags64_pointer",
"url":21,
"doc":"Proxy of C flags64_pointer class. __init__(self) -> flags64_pointer"
},
{
"ref":"ida_pro.flags64_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.flags64_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: flags64_t",
"func":1
},
{
"ref":"ida_pro.flags64_pointer.value",
"url":21,
"doc":"value(self) -> flags64_t",
"func":1
},
{
"ref":"ida_pro.flags64_pointer.cast",
"url":21,
"doc":"cast(self) -> flags64_t  ",
"func":1
},
{
"ref":"ida_pro.flags64_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> flags64_pointer @param t: flags64_t  ",
"func":1
},
{
"ref":"ida_pro.tid_pointer",
"url":21,
"doc":"Proxy of C tid_pointer class. __init__(self) -> tid_pointer"
},
{
"ref":"ida_pro.tid_pointer.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.tid_pointer.assign",
"url":21,
"doc":"assign(self, value) @param value: tid_t",
"func":1
},
{
"ref":"ida_pro.tid_pointer.value",
"url":21,
"doc":"value(self) -> tid_t",
"func":1
},
{
"ref":"ida_pro.tid_pointer.cast",
"url":21,
"doc":"cast(self) -> tid_t  ",
"func":1
},
{
"ref":"ida_pro.tid_pointer.frompointer",
"url":21,
"doc":"frompointer(t) -> tid_pointer @param t: tid_t  ",
"func":1
},
{
"ref":"ida_pro.int64vec_t",
"url":21,
"doc":"Proxy of C qvector class. __init__(self) -> int64vec_t __init__(self, x) -> int64vec_t @param x: qvector const &"
},
{
"ref":"ida_pro.int64vec_t.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.int64vec_t.push_back",
"url":21,
"doc":"push_back(self, x) @param x: long long const & push_back(self) -> long long &",
"func":1
},
{
"ref":"ida_pro.int64vec_t.pop_back",
"url":21,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_pro.int64vec_t.size",
"url":21,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_pro.int64vec_t.empty",
"url":21,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_pro.int64vec_t.at",
"url":21,
"doc":"__getitem__(self, i) -> long long const & @param i: size_t",
"func":1
},
{
"ref":"ida_pro.int64vec_t.qclear",
"url":21,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_pro.int64vec_t.clear",
"url":21,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_pro.int64vec_t.resize",
"url":21,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: long long const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_pro.int64vec_t.capacity",
"url":21,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_pro.int64vec_t.reserve",
"url":21,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_pro.int64vec_t.truncate",
"url":21,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_pro.int64vec_t.swap",
"url":21,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_pro.int64vec_t.extract",
"url":21,
"doc":"extract(self) -> long long  ",
"func":1
},
{
"ref":"ida_pro.int64vec_t.inject",
"url":21,
"doc":"inject(self, s, len) @param s: long long  @param len: size_t",
"func":1
},
{
"ref":"ida_pro.int64vec_t.begin",
"url":21,
"doc":"begin(self) -> qvector  iterator begin(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_pro.int64vec_t.end",
"url":21,
"doc":"end(self) -> qvector  iterator end(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_pro.int64vec_t.insert",
"url":21,
"doc":"insert(self, it, x) -> qvector  iterator @param it: qvector  iterator @param x: long long const &",
"func":1
},
{
"ref":"ida_pro.int64vec_t.erase",
"url":21,
"doc":"erase(self, it) -> qvector  iterator @param it: qvector  iterator erase(self, first, last) -> qvector  iterator @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_pro.int64vec_t.find",
"url":21,
"doc":"find(self, x) -> qvector  iterator @param x: long long const & find(self, x) -> qvector  const_iterator @param x: long long const &",
"func":1
},
{
"ref":"ida_pro.int64vec_t.has",
"url":21,
"doc":"has(self, x) -> bool @param x: long long const &",
"func":1
},
{
"ref":"ida_pro.int64vec_t.add_unique",
"url":21,
"doc":"add_unique(self, x) -> bool @param x: long long const &",
"func":1
},
{
"ref":"ida_pro.int64vec_t.front",
"url":21,
"doc":"",
"func":1
},
{
"ref":"ida_pro.int64vec_t.back",
"url":21,
"doc":"",
"func":1
},
{
"ref":"ida_pro.int64vec_t.append",
"url":21,
"doc":"push_back(self, x) @param x: long long const & push_back(self) -> long long &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t",
"url":21,
"doc":"Proxy of C qvector class. __init__(self) -> uint64vec_t __init__(self, x) -> uint64vec_t @param x: qvector const &"
},
{
"ref":"ida_pro.uint64vec_t.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.uint64vec_t.push_back",
"url":21,
"doc":"push_back(self, x) @param x: unsigned long long const & push_back(self) -> unsigned long long &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.pop_back",
"url":21,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.size",
"url":21,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.empty",
"url":21,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.at",
"url":21,
"doc":"__getitem__(self, i) -> unsigned long long const & @param i: size_t",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.qclear",
"url":21,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.clear",
"url":21,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.resize",
"url":21,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: unsigned long long const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.capacity",
"url":21,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.reserve",
"url":21,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.truncate",
"url":21,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.swap",
"url":21,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.extract",
"url":21,
"doc":"extract(self) -> unsigned long long  ",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.inject",
"url":21,
"doc":"inject(self, s, len) @param s: unsigned long long  @param len: size_t",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.begin",
"url":21,
"doc":"begin(self) -> qvector  iterator begin(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.end",
"url":21,
"doc":"end(self) -> qvector  iterator end(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.insert",
"url":21,
"doc":"insert(self, it, x) -> qvector  iterator @param it: qvector  iterator @param x: unsigned long long const &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.erase",
"url":21,
"doc":"erase(self, it) -> qvector  iterator @param it: qvector  iterator erase(self, first, last) -> qvector  iterator @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.find",
"url":21,
"doc":"find(self, x) -> qvector  iterator @param x: unsigned long long const & find(self, x) -> qvector  const_iterator @param x: unsigned long long const &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.has",
"url":21,
"doc":"has(self, x) -> bool @param x: unsigned long long const &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.add_unique",
"url":21,
"doc":"add_unique(self, x) -> bool @param x: unsigned long long const &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.front",
"url":21,
"doc":"",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.back",
"url":21,
"doc":"",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.append",
"url":21,
"doc":"push_back(self, x) @param x: unsigned long long const & push_back(self) -> unsigned long long &",
"func":1
},
{
"ref":"ida_pro.int64vec_t",
"url":21,
"doc":"Proxy of C qvector class. __init__(self) -> int64vec_t __init__(self, x) -> int64vec_t @param x: qvector const &"
},
{
"ref":"ida_pro.int64vec_t.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.int64vec_t.push_back",
"url":21,
"doc":"push_back(self, x) @param x: long long const & push_back(self) -> long long &",
"func":1
},
{
"ref":"ida_pro.int64vec_t.pop_back",
"url":21,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_pro.int64vec_t.size",
"url":21,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_pro.int64vec_t.empty",
"url":21,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_pro.int64vec_t.at",
"url":21,
"doc":"__getitem__(self, i) -> long long const & @param i: size_t",
"func":1
},
{
"ref":"ida_pro.int64vec_t.qclear",
"url":21,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_pro.int64vec_t.clear",
"url":21,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_pro.int64vec_t.resize",
"url":21,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: long long const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_pro.int64vec_t.capacity",
"url":21,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_pro.int64vec_t.reserve",
"url":21,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_pro.int64vec_t.truncate",
"url":21,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_pro.int64vec_t.swap",
"url":21,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_pro.int64vec_t.extract",
"url":21,
"doc":"extract(self) -> long long  ",
"func":1
},
{
"ref":"ida_pro.int64vec_t.inject",
"url":21,
"doc":"inject(self, s, len) @param s: long long  @param len: size_t",
"func":1
},
{
"ref":"ida_pro.int64vec_t.begin",
"url":21,
"doc":"begin(self) -> qvector  iterator begin(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_pro.int64vec_t.end",
"url":21,
"doc":"end(self) -> qvector  iterator end(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_pro.int64vec_t.insert",
"url":21,
"doc":"insert(self, it, x) -> qvector  iterator @param it: qvector  iterator @param x: long long const &",
"func":1
},
{
"ref":"ida_pro.int64vec_t.erase",
"url":21,
"doc":"erase(self, it) -> qvector  iterator @param it: qvector  iterator erase(self, first, last) -> qvector  iterator @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_pro.int64vec_t.find",
"url":21,
"doc":"find(self, x) -> qvector  iterator @param x: long long const & find(self, x) -> qvector  const_iterator @param x: long long const &",
"func":1
},
{
"ref":"ida_pro.int64vec_t.has",
"url":21,
"doc":"has(self, x) -> bool @param x: long long const &",
"func":1
},
{
"ref":"ida_pro.int64vec_t.add_unique",
"url":21,
"doc":"add_unique(self, x) -> bool @param x: long long const &",
"func":1
},
{
"ref":"ida_pro.int64vec_t.front",
"url":21,
"doc":"",
"func":1
},
{
"ref":"ida_pro.int64vec_t.back",
"url":21,
"doc":"",
"func":1
},
{
"ref":"ida_pro.int64vec_t.append",
"url":21,
"doc":"push_back(self, x) @param x: long long const & push_back(self) -> long long &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t",
"url":21,
"doc":"Proxy of C qvector class. __init__(self) -> uint64vec_t __init__(self, x) -> uint64vec_t @param x: qvector const &"
},
{
"ref":"ida_pro.uint64vec_t.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.uint64vec_t.push_back",
"url":21,
"doc":"push_back(self, x) @param x: unsigned long long const & push_back(self) -> unsigned long long &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.pop_back",
"url":21,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.size",
"url":21,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.empty",
"url":21,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.at",
"url":21,
"doc":"__getitem__(self, i) -> unsigned long long const & @param i: size_t",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.qclear",
"url":21,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.clear",
"url":21,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.resize",
"url":21,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: unsigned long long const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.capacity",
"url":21,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.reserve",
"url":21,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.truncate",
"url":21,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.swap",
"url":21,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.extract",
"url":21,
"doc":"extract(self) -> unsigned long long  ",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.inject",
"url":21,
"doc":"inject(self, s, len) @param s: unsigned long long  @param len: size_t",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.begin",
"url":21,
"doc":"begin(self) -> qvector  iterator begin(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.end",
"url":21,
"doc":"end(self) -> qvector  iterator end(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.insert",
"url":21,
"doc":"insert(self, it, x) -> qvector  iterator @param it: qvector  iterator @param x: unsigned long long const &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.erase",
"url":21,
"doc":"erase(self, it) -> qvector  iterator @param it: qvector  iterator erase(self, first, last) -> qvector  iterator @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.find",
"url":21,
"doc":"find(self, x) -> qvector  iterator @param x: unsigned long long const & find(self, x) -> qvector  const_iterator @param x: unsigned long long const &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.has",
"url":21,
"doc":"has(self, x) -> bool @param x: unsigned long long const &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.add_unique",
"url":21,
"doc":"add_unique(self, x) -> bool @param x: unsigned long long const &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.front",
"url":21,
"doc":"",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.back",
"url":21,
"doc":"",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.append",
"url":21,
"doc":"push_back(self, x) @param x: unsigned long long const & push_back(self) -> unsigned long long &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t",
"url":21,
"doc":"Proxy of C qvector class. __init__(self) -> uint64vec_t __init__(self, x) -> uint64vec_t @param x: qvector const &"
},
{
"ref":"ida_pro.uint64vec_t.thisown",
"url":21,
"doc":"The membership flag"
},
{
"ref":"ida_pro.uint64vec_t.push_back",
"url":21,
"doc":"push_back(self, x) @param x: unsigned long long const & push_back(self) -> unsigned long long &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.pop_back",
"url":21,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.size",
"url":21,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.empty",
"url":21,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.at",
"url":21,
"doc":"__getitem__(self, i) -> unsigned long long const & @param i: size_t",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.qclear",
"url":21,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.clear",
"url":21,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.resize",
"url":21,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: unsigned long long const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.capacity",
"url":21,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.reserve",
"url":21,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.truncate",
"url":21,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.swap",
"url":21,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.extract",
"url":21,
"doc":"extract(self) -> unsigned long long  ",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.inject",
"url":21,
"doc":"inject(self, s, len) @param s: unsigned long long  @param len: size_t",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.begin",
"url":21,
"doc":"begin(self) -> qvector  iterator begin(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.end",
"url":21,
"doc":"end(self) -> qvector  iterator end(self) -> qvector  const_iterator",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.insert",
"url":21,
"doc":"insert(self, it, x) -> qvector  iterator @param it: qvector  iterator @param x: unsigned long long const &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.erase",
"url":21,
"doc":"erase(self, it) -> qvector  iterator @param it: qvector  iterator erase(self, first, last) -> qvector  iterator @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.find",
"url":21,
"doc":"find(self, x) -> qvector  iterator @param x: unsigned long long const & find(self, x) -> qvector  const_iterator @param x: unsigned long long const &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.has",
"url":21,
"doc":"has(self, x) -> bool @param x: unsigned long long const &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.add_unique",
"url":21,
"doc":"add_unique(self, x) -> bool @param x: unsigned long long const &",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.front",
"url":21,
"doc":"",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.back",
"url":21,
"doc":"",
"func":1
},
{
"ref":"ida_pro.uint64vec_t.append",
"url":21,
"doc":"push_back(self, x) @param x: unsigned long long const & push_back(self) -> unsigned long long &",
"func":1
},
{
"ref":"ida_problems",
"url":36,
"doc":"Functions that deal with the list of problems. There are several problem lists. An address may be inserted to any list. The kernel simply maintains these lists, no additional processing is done. The problem lists are accessible for the user from the View->Subviews->Problems menu item. Addresses in the lists are kept sorted. In general IDA just maintains these lists without using them during analysis (except PR_ROLLED)."
},
{
"ref":"ida_problems.get_problem_desc",
"url":36,
"doc":"get_problem_desc(t, ea) -> str Get the human-friendly description of the problem, if one was provided to remember_problem. @param t: (C : problist_id_t) problem list type. @param ea: (C : ea_t) linear address. @return: the message length or -1 if none",
"func":1
},
{
"ref":"ida_problems.remember_problem",
"url":36,
"doc":"remember_problem(type, ea, msg=None) Insert an address to a list of problems. Display a message saying about the problem (except of PR_ATTN,PR_FINAL) PR_JUMP is temporarily ignored. @param type: (C : problist_id_t) problem list type @param ea: (C : ea_t) linear address @param msg: (C : const char  ) a user-friendly message to be displayed instead of the default more generic one associated with the type of problem. Defaults to nullptr.",
"func":1
},
{
"ref":"ida_problems.get_problem",
"url":36,
"doc":"get_problem(type, lowea) -> ea_t Get an address from the specified problem list. The address is not removed from the list. @param type: (C : problist_id_t) problem list type @param lowea: (C : ea_t) the returned address will be higher or equal than the specified address @return: linear address or BADADDR",
"func":1
},
{
"ref":"ida_problems.forget_problem",
"url":36,
"doc":"forget_problem(type, ea) -> bool Remove an address from a problem list @param type: (C : problist_id_t) problem list type @param ea: (C : ea_t) linear address @return: success",
"func":1
},
{
"ref":"ida_problems.get_problem_name",
"url":36,
"doc":"get_problem_name(type, longname=True) -> char const Get problem list description. @param type: (C : problist_id_t) @param longname: (C : bool)",
"func":1
},
{
"ref":"ida_problems.is_problem_present",
"url":36,
"doc":"is_problem_present(t, ea) -> bool Check if the specified address is present in the problem list. @param t: (C : problist_id_t) @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_problems.was_ida_decision",
"url":36,
"doc":"was_ida_decision(ea) -> bool @param ea: ea_t",
"func":1
},
{
"ref":"ida_problems.PR_NOBASE",
"url":36,
"doc":"Can't find offset base."
},
{
"ref":"ida_problems.PR_NONAME",
"url":36,
"doc":"Can't find name."
},
{
"ref":"ida_problems.PR_NOFOP",
"url":36,
"doc":"Can't find forced op (not used anymore)"
},
{
"ref":"ida_problems.PR_NOCMT",
"url":36,
"doc":"Can't find comment (not used anymore)"
},
{
"ref":"ida_problems.PR_NOXREFS",
"url":36,
"doc":"Can't find references."
},
{
"ref":"ida_problems.PR_JUMP",
"url":36,
"doc":"Jump by table   ignored."
},
{
"ref":"ida_problems.PR_DISASM",
"url":36,
"doc":"Can't disasm."
},
{
"ref":"ida_problems.PR_HEAD",
"url":36,
"doc":"Already head."
},
{
"ref":"ida_problems.PR_ILLADDR",
"url":36,
"doc":"Exec flows beyond limits."
},
{
"ref":"ida_problems.PR_MANYLINES",
"url":36,
"doc":"Too many lines."
},
{
"ref":"ida_problems.PR_BADSTACK",
"url":36,
"doc":"Failed to trace the value of the stack pointer."
},
{
"ref":"ida_problems.PR_ATTN",
"url":36,
"doc":"Attention! Probably erroneous situation."
},
{
"ref":"ida_problems.PR_FINAL",
"url":36,
"doc":"Decision to convert to instruction/data is made by IDA."
},
{
"ref":"ida_problems.PR_ROLLED",
"url":36,
"doc":"The decision made by IDA was wrong and rolled back."
},
{
"ref":"ida_problems.PR_COLLISION",
"url":36,
"doc":"FLAIR collision: the function with the given name already exists."
},
{
"ref":"ida_problems.PR_DECIMP",
"url":36,
"doc":"FLAIR match indecision: the patterns matched, but not the function(s) being referenced."
},
{
"ref":"ida_problems.PR_END",
"url":36,
"doc":"Number of problem types."
},
{
"ref":"ida_range",
"url":5,
"doc":"Contains the definition of range_t. A range is a non-empty continuous range of addresses (specified by its start and end addresses, the end address is excluded from the range). Ranges are stored in the Btree part of the IDA database. To learn more about Btrees (Balanced Trees): \\link{http: www.bluerwhite.org/btree/}"
},
{
"ref":"ida_range.rangevec_base_t",
"url":5,
"doc":"Proxy of C qvector class. __init__(self) -> rangevec_base_t __init__(self, x) -> rangevec_base_t @param x: qvector const &"
},
{
"ref":"ida_range.rangevec_base_t.thisown",
"url":5,
"doc":"The membership flag"
},
{
"ref":"ida_range.rangevec_base_t.push_back",
"url":5,
"doc":"push_back(self, x) @param x: range_t const & push_back(self) -> range_t",
"func":1
},
{
"ref":"ida_range.rangevec_base_t.pop_back",
"url":5,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_range.rangevec_base_t.size",
"url":5,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_range.rangevec_base_t.empty",
"url":5,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_range.rangevec_base_t.at",
"url":5,
"doc":"at(self, _idx) -> range_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_range.rangevec_base_t.qclear",
"url":5,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_range.rangevec_base_t.clear",
"url":5,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_range.rangevec_base_t.resize",
"url":5,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: range_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_range.rangevec_base_t.grow",
"url":5,
"doc":"grow(self, x=range_t( @param x: range_t const &",
"func":1
},
{
"ref":"ida_range.rangevec_base_t.capacity",
"url":5,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_range.rangevec_base_t.reserve",
"url":5,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_range.rangevec_base_t.truncate",
"url":5,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_range.rangevec_base_t.swap",
"url":5,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_range.rangevec_base_t.extract",
"url":5,
"doc":"extract(self) -> range_t",
"func":1
},
{
"ref":"ida_range.rangevec_base_t.inject",
"url":5,
"doc":"inject(self, s, len) @param s: range_t  @param len: size_t",
"func":1
},
{
"ref":"ida_range.rangevec_base_t.begin",
"url":5,
"doc":"begin(self) -> range_t",
"func":1
},
{
"ref":"ida_range.rangevec_base_t.end",
"url":5,
"doc":"end(self) -> range_t",
"func":1
},
{
"ref":"ida_range.rangevec_base_t.insert",
"url":5,
"doc":"insert(self, it, x) -> range_t @param it: qvector  iterator @param x: range_t const &",
"func":1
},
{
"ref":"ida_range.rangevec_base_t.erase",
"url":5,
"doc":"erase(self, it) -> range_t @param it: qvector  iterator erase(self, first, last) -> range_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_range.rangevec_base_t.find",
"url":5,
"doc":"find(self, x) -> range_t @param x: range_t const &",
"func":1
},
{
"ref":"ida_range.rangevec_base_t.has",
"url":5,
"doc":"has(self, x) -> bool @param x: range_t const &",
"func":1
},
{
"ref":"ida_range.rangevec_base_t.add_unique",
"url":5,
"doc":"add_unique(self, x) -> bool @param x: range_t const &",
"func":1
},
{
"ref":"ida_range.rangevec_base_t.front",
"url":5,
"doc":"",
"func":1
},
{
"ref":"ida_range.rangevec_base_t.back",
"url":5,
"doc":"",
"func":1
},
{
"ref":"ida_range.array_of_rangesets",
"url":5,
"doc":"Proxy of C qvector class. __init__(self) -> array_of_rangesets __init__(self, x) -> array_of_rangesets @param x: qvector const &"
},
{
"ref":"ida_range.array_of_rangesets.thisown",
"url":5,
"doc":"The membership flag"
},
{
"ref":"ida_range.array_of_rangesets.push_back",
"url":5,
"doc":"push_back(self, x) @param x: rangeset_t const & push_back(self) -> rangeset_t",
"func":1
},
{
"ref":"ida_range.array_of_rangesets.pop_back",
"url":5,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_range.array_of_rangesets.size",
"url":5,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_range.array_of_rangesets.empty",
"url":5,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_range.array_of_rangesets.at",
"url":5,
"doc":"at(self, _idx) -> rangeset_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_range.array_of_rangesets.qclear",
"url":5,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_range.array_of_rangesets.clear",
"url":5,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_range.array_of_rangesets.resize",
"url":5,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: rangeset_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_range.array_of_rangesets.grow",
"url":5,
"doc":"grow(self, x=rangeset_t( @param x: rangeset_t const &",
"func":1
},
{
"ref":"ida_range.array_of_rangesets.capacity",
"url":5,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_range.array_of_rangesets.reserve",
"url":5,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_range.array_of_rangesets.truncate",
"url":5,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_range.array_of_rangesets.swap",
"url":5,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_range.array_of_rangesets.extract",
"url":5,
"doc":"extract(self) -> rangeset_t",
"func":1
},
{
"ref":"ida_range.array_of_rangesets.inject",
"url":5,
"doc":"inject(self, s, len) @param s: rangeset_t  @param len: size_t",
"func":1
},
{
"ref":"ida_range.array_of_rangesets.begin",
"url":5,
"doc":"begin(self) -> rangeset_t",
"func":1
},
{
"ref":"ida_range.array_of_rangesets.end",
"url":5,
"doc":"end(self) -> rangeset_t",
"func":1
},
{
"ref":"ida_range.array_of_rangesets.insert",
"url":5,
"doc":"insert(self, it, x) -> rangeset_t @param it: qvector  iterator @param x: rangeset_t const &",
"func":1
},
{
"ref":"ida_range.array_of_rangesets.erase",
"url":5,
"doc":"erase(self, it) -> rangeset_t @param it: qvector  iterator erase(self, first, last) -> rangeset_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_range.array_of_rangesets.find",
"url":5,
"doc":"find(self, x) -> rangeset_t @param x: rangeset_t const &",
"func":1
},
{
"ref":"ida_range.array_of_rangesets.has",
"url":5,
"doc":"has(self, x) -> bool @param x: rangeset_t const &",
"func":1
},
{
"ref":"ida_range.array_of_rangesets.add_unique",
"url":5,
"doc":"add_unique(self, x) -> bool @param x: rangeset_t const &",
"func":1
},
{
"ref":"ida_range.array_of_rangesets.front",
"url":5,
"doc":"",
"func":1
},
{
"ref":"ida_range.array_of_rangesets.back",
"url":5,
"doc":"",
"func":1
},
{
"ref":"ida_range.range_t",
"url":5,
"doc":"Proxy of C range_t class. __init__(self, ea1=0, ea2=0) -> range_t @param ea1: ea_t @param ea2: ea_t"
},
{
"ref":"ida_range.range_t.thisown",
"url":5,
"doc":"The membership flag"
},
{
"ref":"ida_range.range_t.start_ea",
"url":5,
"doc":"start_ea included"
},
{
"ref":"ida_range.range_t.end_ea",
"url":5,
"doc":"end_ea excluded"
},
{
"ref":"ida_range.range_t.compare",
"url":5,
"doc":"compare(self, r) -> int @param r: range_t const &",
"func":1
},
{
"ref":"ida_range.range_t.contains",
"url":5,
"doc":"contains(self, ea) -> bool Is every ea in 'r' also in this range_t? @param ea: ea_t contains(self, r) -> bool @param r: range_t const &",
"func":1
},
{
"ref":"ida_range.range_t.overlaps",
"url":5,
"doc":"overlaps(self, r) -> bool Is there an ea in 'r' that is also in this range_t? @param r: (C : const range_t &) range_t const &",
"func":1
},
{
"ref":"ida_range.range_t.clear",
"url":5,
"doc":"clear(self) Set start_ea, end_ea to 0.",
"func":1
},
{
"ref":"ida_range.range_t.empty",
"url":5,
"doc":"empty(self) -> bool Is the size of the range_t <= 0?",
"func":1
},
{
"ref":"ida_range.range_t.size",
"url":5,
"doc":"size(self) -> asize_t Get end_ea - start_ea.",
"func":1
},
{
"ref":"ida_range.range_t.intersect",
"url":5,
"doc":"intersect(self, r) Assign the range_t to the intersection between the range_t and 'r'. @param r: (C : const range_t &) range_t const &",
"func":1
},
{
"ref":"ida_range.range_t.extend",
"url":5,
"doc":"extend(self, ea) Ensure that the range_t includes 'ea'. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_range.range_t_print",
"url":5,
"doc":"range_t_print(cb) -> str Helper function. Should not be called directly! @param cb: range_t const  ",
"func":1
},
{
"ref":"ida_range.rangevec_t",
"url":5,
"doc":"Proxy of C rangevec_t class. __init__(self) -> rangevec_t"
},
{
"ref":"ida_range.rangevec_t.thisown",
"url":5,
"doc":"The membership flag"
},
{
"ref":"ida_range.rangevec_t.push_back",
"url":5,
"doc":"push_back(self, x) @param x: range_t const & push_back(self) -> range_t",
"func":1
},
{
"ref":"ida_range.rangevec_t.pop_back",
"url":5,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_range.rangevec_t.size",
"url":5,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_range.rangevec_t.empty",
"url":5,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_range.rangevec_t.at",
"url":5,
"doc":"at(self, _idx) -> range_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_range.rangevec_t.qclear",
"url":5,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_range.rangevec_t.clear",
"url":5,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_range.rangevec_t.resize",
"url":5,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: range_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_range.rangevec_t.grow",
"url":5,
"doc":"grow(self, x=range_t( @param x: range_t const &",
"func":1
},
{
"ref":"ida_range.rangevec_t.capacity",
"url":5,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_range.rangevec_t.reserve",
"url":5,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_range.rangevec_t.truncate",
"url":5,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_range.rangevec_t.swap",
"url":5,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_range.rangevec_t.extract",
"url":5,
"doc":"extract(self) -> range_t",
"func":1
},
{
"ref":"ida_range.rangevec_t.inject",
"url":5,
"doc":"inject(self, s, len) @param s: range_t  @param len: size_t",
"func":1
},
{
"ref":"ida_range.rangevec_t.begin",
"url":5,
"doc":"begin(self) -> range_t",
"func":1
},
{
"ref":"ida_range.rangevec_t.end",
"url":5,
"doc":"end(self) -> range_t",
"func":1
},
{
"ref":"ida_range.rangevec_t.insert",
"url":5,
"doc":"insert(self, it, x) -> range_t @param it: qvector  iterator @param x: range_t const &",
"func":1
},
{
"ref":"ida_range.rangevec_t.erase",
"url":5,
"doc":"erase(self, it) -> range_t @param it: qvector  iterator erase(self, first, last) -> range_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_range.rangevec_t.find",
"url":5,
"doc":"find(self, x) -> range_t @param x: range_t const &",
"func":1
},
{
"ref":"ida_range.rangevec_t.has",
"url":5,
"doc":"has(self, x) -> bool @param x: range_t const &",
"func":1
},
{
"ref":"ida_range.rangevec_t.add_unique",
"url":5,
"doc":"add_unique(self, x) -> bool @param x: range_t const &",
"func":1
},
{
"ref":"ida_range.RANGE_KIND_FUNC",
"url":5,
"doc":"func_t"
},
{
"ref":"ida_range.RANGE_KIND_SEGMENT",
"url":5,
"doc":"segment_t"
},
{
"ref":"ida_range.RANGE_KIND_HIDDEN_RANGE",
"url":5,
"doc":"hidden_range_t"
},
{
"ref":"ida_range.rangeset_t",
"url":5,
"doc":"Proxy of C rangeset_t class. __init__(self) -> rangeset_t __init__(self, range) -> rangeset_t @param range: range_t const & __init__(self, ivs) -> rangeset_t @param ivs: rangeset_t const &"
},
{
"ref":"ida_range.rangeset_t.thisown",
"url":5,
"doc":"The membership flag"
},
{
"ref":"ida_range.rangeset_t.swap",
"url":5,
"doc":"swap(self, r) Set this = 'r' and 'r' = this. See qvector swap() @param r: (C : rangeset_t &)",
"func":1
},
{
"ref":"ida_range.rangeset_t.add",
"url":5,
"doc":"add(self, range) -> bool Add each element of 'aset' to the set. @param range: range_t const & @return: false if no elements were added (the set was unchanged) add(self, start, _end) -> bool @param start: ea_t @param _end: ea_t add(self, aset) -> bool @param aset: rangeset_t const &",
"func":1
},
{
"ref":"ida_range.rangeset_t.sub",
"url":5,
"doc":"sub(self, range) -> bool Subtract each range in 'aset' from the set @param range: range_t const & @return: false if nothing was subtracted (the set was unchanged) sub(self, ea) -> bool @param ea: ea_t sub(self, aset) -> bool @param aset: rangeset_t const &",
"func":1
},
{
"ref":"ida_range.rangeset_t.includes",
"url":5,
"doc":"includes(self, range) -> bool Is every ea in 'range' contained in the rangeset? @param range: (C : const range_t &) range_t const &",
"func":1
},
{
"ref":"ida_range.rangeset_t.getrange",
"url":5,
"doc":"getrange(self, idx) -> range_t Get the range_t at index 'idx'. @param idx: (C : int)",
"func":1
},
{
"ref":"ida_range.rangeset_t.lastrange",
"url":5,
"doc":"lastrange(self) -> range_t Get the last range_t in the set.",
"func":1
},
{
"ref":"ida_range.rangeset_t.nranges",
"url":5,
"doc":"nranges(self) -> size_t Get the number of range_t elements in the set.",
"func":1
},
{
"ref":"ida_range.rangeset_t.empty",
"url":5,
"doc":"empty(self) -> bool Does the set have zero elements.",
"func":1
},
{
"ref":"ida_range.rangeset_t.clear",
"url":5,
"doc":"clear(self) Delete all elements from the set. See qvector clear()",
"func":1
},
{
"ref":"ida_range.rangeset_t.has_common",
"url":5,
"doc":"has_common(self, range) -> bool Does any element of 'aset' overlap with an element in this rangeset?. See range_t overlaps() @param range: range_t const & has_common(self, aset) -> bool @param aset: rangeset_t const &",
"func":1
},
{
"ref":"ida_range.rangeset_t.contains",
"url":5,
"doc":"contains(self, ea) -> bool Is every element in 'aset' contained in an element of this rangeset?. See range_t contains(range_t) @param ea: ea_t contains(self, aset) -> bool @param aset: rangeset_t const &",
"func":1
},
{
"ref":"ida_range.rangeset_t.intersect",
"url":5,
"doc":"intersect(self, aset) -> bool Set the rangeset to its intersection with 'aset'. @param aset: (C : const rangeset_t &) rangeset_t const & @return: false if the set was unchanged",
"func":1
},
{
"ref":"ida_range.rangeset_t.is_subset_of",
"url":5,
"doc":"is_subset_of(self, aset) -> bool Is every element in the rangeset contained in an element of 'aset'? @param aset: (C : const rangeset_t &) rangeset_t const &",
"func":1
},
{
"ref":"ida_range.rangeset_t.is_equal",
"url":5,
"doc":"is_equal(self, aset) -> bool Do this rangeset and 'aset' have identical elements? @param aset: (C : const rangeset_t &) rangeset_t const &",
"func":1
},
{
"ref":"ida_range.rangeset_t.begin",
"url":5,
"doc":"begin(self) -> range_t Get an iterator that points to the first element in the set.",
"func":1
},
{
"ref":"ida_range.rangeset_t.end",
"url":5,
"doc":"end(self) -> range_t Get an iterator that points to the end of the set. (This is NOT the last element)",
"func":1
},
{
"ref":"ida_range.rangeset_t.find_range",
"url":5,
"doc":"find_range(self, ea) -> range_t Get the element from the set that contains 'ea'. @param ea: (C : ea_t) @return: nullptr if there is no such element",
"func":1
},
{
"ref":"ida_range.rangeset_t.cached_range",
"url":5,
"doc":"cached_range(self) -> range_t When searching the rangeset, we keep a cached element to help speed up searches. @return: a pointer to the cached element",
"func":1
},
{
"ref":"ida_range.rangeset_t.next_addr",
"url":5,
"doc":"next_addr(self, ea) -> ea_t Get the smallest ea_t value greater than 'ea' contained in the rangeset. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_range.rangeset_t.prev_addr",
"url":5,
"doc":"prev_addr(self, ea) -> ea_t Get the largest ea_t value less than 'ea' contained in the rangeset. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_range.rangeset_t.next_range",
"url":5,
"doc":"next_range(self, ea) -> ea_t Get the smallest ea_t value greater than 'ea' that is not in the same range as 'ea'. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_range.rangeset_t.prev_range",
"url":5,
"doc":"prev_range(self, ea) -> ea_t Get the largest ea_t value less than 'ea' that is not in the same range as 'ea'. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_registry",
"url":37,
"doc":"Registry related functions. IDA uses the registry to store global configuration options that must persist after IDA has been closed. On Windows, IDA uses the Windows registry directly. On Unix systems, the registry is stored in a file (typically ~/.idapro/ida.reg). The root key for accessing IDA settings in the registry is defined by ROOT_KEY_NAME."
},
{
"ref":"ida_registry.reg_read_string",
"url":37,
"doc":"reg_read_string(name, subkey=None, _def=None) -> PyObject Read a string from the registry. @param name: (C : const char  ) value name @param subkey: (C : const char  ) key name @param def: char const  @return: success",
"func":1
},
{
"ref":"ida_registry.reg_data_type",
"url":37,
"doc":"reg_data_type(name, subkey=None) -> regval_type_t Get data type of a given value. @param name: (C : const char  ) value name @param subkey: (C : const char  ) key name @return: false if the [key+]value doesn't exist",
"func":1
},
{
"ref":"ida_registry.reg_read_binary",
"url":37,
"doc":"reg_read_binary(name, subkey=None) -> PyObject Read binary data from the registry. @param name: (C : const char  ) value name @param subkey: (C : const char  ) key name @return: success",
"func":1
},
{
"ref":"ida_registry.reg_write_binary",
"url":37,
"doc":"reg_write_binary(name, py_bytes, subkey=None) -> PyObject Write binary data to the registry. @param name: (C : const char  ) value name @param py_bytes: PyObject  @param subkey: (C : const char  ) key name",
"func":1
},
{
"ref":"ida_registry.reg_subkey_subkeys",
"url":37,
"doc":"reg_subkey_subkeys(name) -> [str,  .] Get all subkey names of given key. @param name: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_registry.reg_subkey_values",
"url":37,
"doc":"reg_subkey_values(name) -> [str,  .] Get all value names under given key. @param name: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_registry.ROOT_KEY_NAME",
"url":37,
"doc":"Default key used to store IDA settings in registry (Windows version). @note: this name is automatically prepended to all key names passed to functions in this file."
},
{
"ref":"ida_registry.reg_unknown",
"url":37,
"doc":"unknown"
},
{
"ref":"ida_registry.reg_sz",
"url":37,
"doc":"utf8 string"
},
{
"ref":"ida_registry.reg_binary",
"url":37,
"doc":"binary data"
},
{
"ref":"ida_registry.reg_dword",
"url":37,
"doc":"32-bit number"
},
{
"ref":"ida_registry.reg_delete_subkey",
"url":37,
"doc":"reg_delete_subkey(name) -> bool Delete a key from the registry. @param name: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_registry.reg_delete_tree",
"url":37,
"doc":"reg_delete_tree(name) -> bool Delete a subtree from the registry. @param name: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_registry.reg_delete",
"url":37,
"doc":"reg_delete(name, subkey=None) -> bool Delete a value from the registry. @param name: (C : const char  ) value name @param subkey: (C : const char  ) parent key @return: success",
"func":1
},
{
"ref":"ida_registry.reg_subkey_exists",
"url":37,
"doc":"reg_subkey_exists(name) -> bool Is there already a key with the given name? @param name: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_registry.reg_exists",
"url":37,
"doc":"reg_exists(name, subkey=None) -> bool Is there already a value with the given name? @param name: (C : const char  ) value name @param subkey: (C : const char  ) parent key",
"func":1
},
{
"ref":"ida_registry.reg_read_strlist",
"url":37,
"doc":"reg_read_strlist(subkey) Retrieve all string values associated with the given key. Also see reg_update_strlist(), reg_write_strlist() @param subkey: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_registry.reg_write_strlist",
"url":37,
"doc":"reg_write_strlist(_in, subkey) Write string values associated with the given key. Also see reg_read_strlist(), reg_update_strlist() @param in: (C : const qstrvec_t &) qstrvec_t const & @param subkey: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_registry.reg_update_strlist",
"url":37,
"doc":"reg_update_strlist(subkey, add, maxrecs, rem=None, ignorecase=False) Update list of strings associated with given key. @param subkey: (C : const char  ) key name @param add: (C : const char  ) string to be added to list, can be nullptr @param maxrecs: (C : size_t) limit list to this size @param rem: (C : const char  ) string to be removed from list, can be nullptr @param ignorecase: (C : bool) ignore case for 'add' and 'rem'",
"func":1
},
{
"ref":"ida_registry.reg_write_string",
"url":37,
"doc":"reg_write_string(name, utf8, subkey=None) Write a string to the registry. @param name: (C : const char  ) value name @param utf8: (C : const char  ) utf8-encoded string @param subkey: (C : const char  ) key name",
"func":1
},
{
"ref":"ida_registry.reg_read_int",
"url":37,
"doc":"reg_read_int(name, defval, subkey=None) -> int Read integer value from the registry. @param name: (C : const char  ) value name @param defval: (C : int) default value @param subkey: (C : const char  ) key name @return: the value read from the registry, or 'defval' if the read failed",
"func":1
},
{
"ref":"ida_registry.reg_write_int",
"url":37,
"doc":"reg_write_int(name, value, subkey=None) Write integer value to the registry. @param name: (C : const char  ) value name @param value: (C : int) value to write @param subkey: (C : const char  ) key name",
"func":1
},
{
"ref":"ida_registry.reg_read_bool",
"url":37,
"doc":"reg_read_bool(name, defval, subkey=None) -> bool Read boolean value from the registry. @param name: (C : const char  ) value name @param defval: (C : bool) default value @param subkey: (C : const char  ) key name @return: boolean read from registry, or 'defval' if the read failed",
"func":1
},
{
"ref":"ida_registry.reg_write_bool",
"url":37,
"doc":"reg_write_bool(name, value, subkey=None) Write boolean value to the registry. @param name: (C : const char  ) value name @param value: (C : int) boolean to write (nonzero = true) @param subkey: (C : const char  ) key name",
"func":1
},
{
"ref":"ida_registry.reg_update_filestrlist",
"url":37,
"doc":"reg_update_filestrlist(subkey, add, maxrecs, rem=None) Update registry with a file list. Case sensitivity will vary depending on the target OS. @note: 'add' and 'rem' must be UTF-8, just like for regular string operations. @param subkey: (C : const char  ) char const  @param add: (C : const char  ) char const  @param maxrecs: (C : size_t) @param rem: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_registry.set_registry_name",
"url":37,
"doc":"set_registry_name(name) -> bool @param name: char const  ",
"func":1
},
{
"ref":"ida_regfinder",
"url":38,
"doc":""
},
{
"ref":"ida_regfinder.reg_value_def_t",
"url":38,
"doc":"Proxy of C reg_value_def_t class. __init__(self) -> reg_value_def_t __init__(self, _val, ea, _flags=0) -> reg_value_def_t @param _val: uval_t @param ea: ea_t @param _flags: uint16 __init__(self, _val, insn, _flags=0) -> reg_value_def_t @param _val: uval_t @param insn: an ida_ua.insn_t, or an address (C : const insn_t &) @param _flags: uint16"
},
{
"ref":"ida_regfinder.reg_value_def_t.thisown",
"url":38,
"doc":"The membership flag"
},
{
"ref":"ida_regfinder.reg_value_def_t.val",
"url":38,
"doc":"the value"
},
{
"ref":"ida_regfinder.reg_value_def_t.def_ea",
"url":38,
"doc":"the instruction address"
},
{
"ref":"ida_regfinder.reg_value_def_t.def_itype",
"url":38,
"doc":"the instruction code (processor specific)"
},
{
"ref":"ida_regfinder.reg_value_def_t.flags",
"url":38,
"doc":"additional info about the value"
},
{
"ref":"ida_regfinder.reg_value_def_t.SHORT_INSN",
"url":38,
"doc":"like 'addi reg, imm'"
},
{
"ref":"ida_regfinder.reg_value_def_t.PC_BASED",
"url":38,
"doc":"the value depends on DEF_EA only for numbers @see: is_num()"
},
{
"ref":"ida_regfinder.reg_value_def_t.LIKE_GOT",
"url":38,
"doc":"the value is like GOT only for numbers @see: is_num()"
},
{
"ref":"ida_regfinder.reg_value_def_t.is_short_insn",
"url":38,
"doc":"is_short_insn(self, insn) -> bool @param insn: an ida_ua.insn_t, or an address (C : const insn_t &) is_short_insn(self) -> bool",
"func":1
},
{
"ref":"ida_regfinder.reg_value_def_t.is_pc_based",
"url":38,
"doc":"is_pc_based(self) -> bool",
"func":1
},
{
"ref":"ida_regfinder.reg_value_def_t.is_like_got",
"url":38,
"doc":"is_like_got(self) -> bool",
"func":1
},
{
"ref":"ida_regfinder.reg_value_def_t.NOVAL",
"url":38,
"doc":"without a value"
},
{
"ref":"ida_regfinder.reg_value_def_t.UVAL",
"url":38,
"doc":"as a number"
},
{
"ref":"ida_regfinder.reg_value_def_t.SPVAL",
"url":38,
"doc":"as a SP delta"
},
{
"ref":"ida_regfinder.reg_value_def_t.dstr",
"url":38,
"doc":"dstr(self, how, pm=None) -> qstring Return the string representation. @param how: (C : dstr_val_t) enum reg_value_def_t dstr_val_t @param pm: (C : const procmod_t  ) procmod_t const  ",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t",
"url":38,
"doc":"Proxy of C reg_value_info_t class. __init__(self) -> reg_value_info_t"
},
{
"ref":"ida_regfinder.reg_value_info_t.thisown",
"url":38,
"doc":"The membership flag"
},
{
"ref":"ida_regfinder.reg_value_info_t.clear",
"url":38,
"doc":"clear(self) Undefine the value.",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.empty",
"url":38,
"doc":"empty(self) -> bool Return 'true' if we know nothing about a value.",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.make_dead_end",
"url":38,
"doc":"make_dead_end(dead_end_ea) -> reg_value_info_t Return the undefined value because of a dead end. @see: is_dead_end() @param dead_end_ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.make_aborted",
"url":38,
"doc":"make_aborted(bblk_ea) -> reg_value_info_t Return the value after aborting. @see: aborted() @param bblk_ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.make_badinsn",
"url":38,
"doc":"make_badinsn(insn_ea) -> reg_value_info_t Return the unknown value after a bad insn. @see: is_badinsn() @param insn_ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.make_unkinsn",
"url":38,
"doc":"make_unkinsn(insn) -> reg_value_info_t Return the unknown value after executing the insn. @see: is_unkinsn() @param insn: (C : const insn_t &) an ida_ua.insn_t, or an address (C : const insn_t &)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.make_unkfunc",
"url":38,
"doc":"make_unkfunc(func_ea) -> reg_value_info_t Return the unknown value from the function start. @see: is_unkfunc() @param func_ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.make_unkloop",
"url":38,
"doc":"make_unkloop(bblk_ea) -> reg_value_info_t Return the unknown value if it changes in a loop. @see: is_unkloop() @param bblk_ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.make_unkmult",
"url":38,
"doc":"make_unkmult(bblk_ea) -> reg_value_info_t Return the unknown value if the register has incompatible values. @see: is_unkmult() @param bblk_ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.make_num",
"url":38,
"doc":"make_num(rval, insn, val_flags=0) -> reg_value_info_t Return the value that is the RVAL number. @see: is_num() @param rval: (C : uval_t) @param insn: an ida_ua.insn_t, or an address (C : const insn_t &) @param val_flags: (C : uint16) make_num(rval, val_ea, val_flags=0) -> reg_value_info_t @param rval: uval_t @param val_ea: ea_t @param val_flags: uint16",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.make_initial_sp",
"url":38,
"doc":"make_initial_sp(func_ea) -> reg_value_info_t Return the value that is the initial stack pointer. @see: is_spd() @param func_ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.is_dead_end",
"url":38,
"doc":"is_dead_end(self) -> bool Return 'true' if the value is undefined because of a dead end.",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.aborted",
"url":38,
"doc":"aborted(self) -> bool Return 'true' if the tracking process was aborted.",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.is_special",
"url":38,
"doc":"is_special(self) -> bool Return 'true' if the value requires special handling.",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.is_badinsn",
"url":38,
"doc":"is_badinsn(self) -> bool Return 'true' if the value is unknown because of a bad insn.",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.is_unkinsn",
"url":38,
"doc":"is_unkinsn(self) -> bool Return 'true' if the value is unknown after executing the insn.",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.is_unkfunc",
"url":38,
"doc":"is_unkfunc(self) -> bool Return 'true' if the value is unknown from the function start.",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.is_unkloop",
"url":38,
"doc":"is_unkloop(self) -> bool Return 'true' if the value is unknown because it changes in a loop.",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.is_unkmult",
"url":38,
"doc":"is_unkmult(self) -> bool Return 'true' if the value is unknown because the register has incompatible values (a number and SP delta).",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.is_unknown",
"url":38,
"doc":"is_unknown(self) -> bool Return 'true' if the value is unknown.",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.is_num",
"url":38,
"doc":"is_num(self) -> bool Return 'true' if the value is a constant.",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.is_spd",
"url":38,
"doc":"is_spd(self) -> bool Return 'true' if the value depends on the stack pointer.",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.is_known",
"url":38,
"doc":"is_known(self) -> bool Return 'true' if the value is known (i.e. it is a number or SP delta).",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.get_num",
"url":38,
"doc":"get_num(self) -> bool Return the number if the value is a constant. @see: is_num()",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.get_spd",
"url":38,
"doc":"get_spd(self) -> bool Return the SP delta if the value depends on the stack pointer. @see: is_spd()",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.get_def_ea",
"url":38,
"doc":"get_def_ea(self) -> ea_t Return the defining address.",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.get_def_itype",
"url":38,
"doc":"get_def_itype(self) -> uint16 Return the defining instruction code (processor specific).",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.is_value_unique",
"url":38,
"doc":"is_value_unique(self) -> bool Check that the value is unique.",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.have_all_vals_flag",
"url":38,
"doc":"have_all_vals_flag(self, val_flags) -> bool Check the given flag for each value. @param val_flags: (C : uint16)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.is_all_vals_pc_based",
"url":38,
"doc":"is_all_vals_pc_based(self) -> bool",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.is_all_vals_like_got",
"url":38,
"doc":"is_all_vals_like_got(self) -> bool",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.set_dead_end",
"url":38,
"doc":"set_dead_end(self, dead_end_ea) Set the value to be undefined because of a dead end. @see: is_dead_end() @param dead_end_ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.set_badinsn",
"url":38,
"doc":"set_badinsn(self, insn_ea) Set the value to be unknown after a bad insn. @see: is_badinsn() @param insn_ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.set_unkinsn",
"url":38,
"doc":"set_unkinsn(self, insn) Set the value to be unknown after executing the insn. @see: is_unkinsn() @param insn: (C : const insn_t &) an ida_ua.insn_t, or an address (C : const insn_t &)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.set_unkfunc",
"url":38,
"doc":"set_unkfunc(self, func_ea) Set the value to be unknown from the function start. @see: is_unkfunc() @param func_ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.set_unkloop",
"url":38,
"doc":"set_unkloop(self, bblk_ea) Set the value to be unknown because it changes in a loop. @see: is_unkloop() @param bblk_ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.set_unkmult",
"url":38,
"doc":"set_unkmult(self, bblk_ea) Set the value to be unknown because the register has incompatible values. @see: is_unkmult() @param bblk_ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.set_aborted",
"url":38,
"doc":"set_aborted(self, bblk_ea) Set the value after aborting. @see: aborted() @param bblk_ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.set_num",
"url":38,
"doc":"set_num(self, rval, insn, val_flags=0) Set the value to be a number before an address. @see: is_num() @param rval: (C : uval_t) @param insn: an ida_ua.insn_t, or an address (C : const insn_t &) @param val_flags: (C : uint16) set_num(self, rvals, insn) @param rvals: uvalvec_t  @param insn: an ida_ua.insn_t, or an address (C : const insn_t &) set_num(self, rval, val_ea, val_flags=0) @param rval: uval_t @param val_ea: ea_t @param val_flags: uint16",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.EQUAL",
"url":38,
"doc":"L R."
},
{
"ref":"ida_regfinder.reg_value_info_t.CONTAINS",
"url":38,
"doc":"L contains R (i.e. R\\L is empty)"
},
{
"ref":"ida_regfinder.reg_value_info_t.CONTAINED",
"url":38,
"doc":"L is contained in R (i.e. L\\R is empty)"
},
{
"ref":"ida_regfinder.reg_value_info_t.NOT_COMPARABLE",
"url":38,
"doc":"L\\R is not empty and R\\L is not empty."
},
{
"ref":"ida_regfinder.reg_value_info_t.vals_union",
"url":38,
"doc":"vals_union(self, r) -> reg_value_info_t set_compare_res_t Add values from R into THIS ignoring duplicates. @note: This method is the only way to get multiple values. @retval EQUAL: THIS is not changed @retval CONTAINS: THIS is not changed @retval CONTAINED: THIS is a copy of R @retval NOT_COMPARABLE: values from R are added to THIS @param r: (C : const reg_value_info_t &) reg_value_info_t const &",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.extend",
"url":38,
"doc":"extend(self, pm, width, is_signed) Sign-, or zero-extend the number or SP delta value to full size. The initial value is considered to be of size WIDTH. @note: This method do nothing for unknown values. @param pm: (C : const procmod_t &) procmod_t const & @param width: (C : int) @param is_signed: (C : bool)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.trunc_uval",
"url":38,
"doc":"trunc_uval(self, pm) Truncate the number to the application bitness. @note: This method do nothing for non-number values. @param pm: (C : const procmod_t &) procmod_t const &",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.ADD",
"url":38,
"doc":""
},
{
"ref":"ida_regfinder.reg_value_info_t.SUB",
"url":38,
"doc":""
},
{
"ref":"ida_regfinder.reg_value_info_t.OR",
"url":38,
"doc":""
},
{
"ref":"ida_regfinder.reg_value_info_t.AND",
"url":38,
"doc":""
},
{
"ref":"ida_regfinder.reg_value_info_t.XOR",
"url":38,
"doc":""
},
{
"ref":"ida_regfinder.reg_value_info_t.AND_NOT",
"url":38,
"doc":""
},
{
"ref":"ida_regfinder.reg_value_info_t.SLL",
"url":38,
"doc":""
},
{
"ref":"ida_regfinder.reg_value_info_t.SLR",
"url":38,
"doc":""
},
{
"ref":"ida_regfinder.reg_value_info_t.MOVT",
"url":38,
"doc":""
},
{
"ref":"ida_regfinder.reg_value_info_t.NEG",
"url":38,
"doc":""
},
{
"ref":"ida_regfinder.reg_value_info_t.NOT",
"url":38,
"doc":""
},
{
"ref":"ida_regfinder.reg_value_info_t.add",
"url":38,
"doc":"add(self, r, insn) Add R to the value, save INSN as a defining instruction. @note: Either THIS or R must have a single value. @param r: (C : const reg_value_info_t &) reg_value_info_t const & @param insn: (C : const insn_t &) an ida_ua.insn_t, or an address (C : const insn_t &)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.sub",
"url":38,
"doc":"sub(self, r, insn) Subtract R from the value, save INSN as a defining instruction. @note: Either THIS or R must have a single value. @param r: (C : const reg_value_info_t &) reg_value_info_t const & @param insn: (C : const insn_t &) an ida_ua.insn_t, or an address (C : const insn_t &)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.bor",
"url":38,
"doc":"bor(self, r, insn) Make bitwise OR of R to the value, save INSN as a defining instruction. @note: Either THIS or R must have a single value. @param r: (C : const reg_value_info_t &) reg_value_info_t const & @param insn: (C : const insn_t &) an ida_ua.insn_t, or an address (C : const insn_t &)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.band",
"url":38,
"doc":"band(self, r, insn) Make bitwise AND of R to the value, save INSN as a defining instruction. @note: Either THIS or R must have a single value. @param r: (C : const reg_value_info_t &) reg_value_info_t const & @param insn: (C : const insn_t &) an ida_ua.insn_t, or an address (C : const insn_t &)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.bxor",
"url":38,
"doc":"bxor(self, r, insn) Make bitwise eXclusive OR of R to the value, save INSN as a defining instruction. @note: Either THIS or R must have a single value. @param r: (C : const reg_value_info_t &) reg_value_info_t const & @param insn: (C : const insn_t &) an ida_ua.insn_t, or an address (C : const insn_t &)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.bandnot",
"url":38,
"doc":"bandnot(self, r, insn) Make bitwise AND of the inverse of R to the value, save INSN as a defining instruction. @note: Either THIS or R must have a single value. @param r: (C : const reg_value_info_t &) reg_value_info_t const & @param insn: (C : const insn_t &) an ida_ua.insn_t, or an address (C : const insn_t &)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.sll",
"url":38,
"doc":"sll(self, r, insn) Shift the value left by R, save INSN as a defining instruction. @note: Either THIS or R must have a single value. @param r: (C : const reg_value_info_t &) reg_value_info_t const & @param insn: (C : const insn_t &) an ida_ua.insn_t, or an address (C : const insn_t &)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.slr",
"url":38,
"doc":"slr(self, r, insn) Shift the value right by R, save INSN as a defining instruction. @note: Either THIS or R must have a single value. @param r: (C : const reg_value_info_t &) reg_value_info_t const & @param insn: (C : const insn_t &) an ida_ua.insn_t, or an address (C : const insn_t &)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.movt",
"url":38,
"doc":"movt(self, r, insn) Replace the top 16 bits with bottom 16 bits of R, leaving the bottom 16 bits untouched, save INSN as a defining instruction. @note: Either THIS or R must have a single value. @param r: (C : const reg_value_info_t &) reg_value_info_t const & @param insn: (C : const insn_t &) an ida_ua.insn_t, or an address (C : const insn_t &)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.neg",
"url":38,
"doc":"neg(self, insn) Negate the value, save INSN as a defining instruction. @param insn: (C : const insn_t &) an ida_ua.insn_t, or an address (C : const insn_t &)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.bnot",
"url":38,
"doc":"bnot(self, insn) Make bitwise inverse of the value, save INSN as a defining instruction. @param insn: (C : const insn_t &) an ida_ua.insn_t, or an address (C : const insn_t &)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.add_num",
"url":38,
"doc":"add_num(self, r, insn) Add R to the value, do not change the defining instructions. @note: This method do nothing for unknown values. @param r: (C : uval_t) @param insn: an ida_ua.insn_t, or an address (C : const insn_t &) add_num(self, r) @param r: uval_t",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.shift_left",
"url":38,
"doc":"shift_left(self, r) Shift the value left by R, do not change the defining instructions. @note: This method do nothing for unknown values. @param r: (C : uval_t)",
"func":1
},
{
"ref":"ida_regfinder.reg_value_info_t.shift_right",
"url":38,
"doc":"shift_right(self, r) Shift the value right by R, do not change the defining instructions. @note: This method do nothing for unknown values. @param r: (C : uval_t)",
"func":1
},
{
"ref":"ida_regfinder.find_reg_value",
"url":38,
"doc":"find_reg_value(ea, reg) -> int Find register value using the register tracker. @note: The returned value is valid  before executing the instruction. @param ea: (C : ea_t) the address to find a value at @param reg: (C : int) the register to find @retval 0: no value (the value is varying or the find depth is not enough to find a value) @retval 1: the found value is in VAL @retval -1: the processor module does not support a register tracker",
"func":1
},
{
"ref":"ida_regfinder.find_sp_value",
"url":38,
"doc":"find_sp_value(ea, reg=-1) -> int Find a value of the SP based register using the register tracker. @note: The returned value is valid  before executing the instruction. @param ea: (C : ea_t) the address to find a value at @param reg: (C : int) the register to find. by default the SP register is used. @retval 0: no value (the value is varying or the find depth is not enough to find a value) @retval 1: the found value is in VAL @retval -1: the processor module does not support a register tracker",
"func":1
},
{
"ref":"ida_regfinder.find_reg_value_info",
"url":38,
"doc":"find_reg_value_info(rvi, ea, reg, max_depth=0) -> bool Find register value using the register tracker. @note: The returned value is valid  before executing the instruction. @note: The _undefined_ value means that there is no execution flow to EA, e.g. we try to find a value after the call of NORET function. @note: The _unknown_ value means that the value is:  a result of unsupported instruction, e.g. the result of a call,  a function argument,  is varying, e.g. it is a loop counter. @param rvi: (C : reg_value_info_t  ) the found value with additional attributes @param ea: (C : ea_t) the address to find a value at @param reg: (C : int) the register to find @param max_depth: (C : int) the number of basic blocks to look before aborting the search and returning the unknown value. 0 means the value of REGTRACK_MAX_DEPTH from ida.cfg for ordinal registers or REGTRACK_FUNC_MAX_DEPTH for the function-wide registers, -1 means the value of REGTRACK_FUNC_MAX_DEPTH from ida.cfg. @retval 'false': the processor module does not support a register tracker @retval 'true': the found value is in RVI",
"func":1
},
{
"ref":"ida_regfinder.find_nearest_rvi",
"url":38,
"doc":"find_nearest_rvi(rvi, ea, reg) -> int Find the value of any of the two registers using the register tracker. First, this function tries to find the registers in the basic block of EA, and if it could not do this, then it tries to find in the entire function. @param rvi: (C : reg_value_info_t  ) the found value with additional attributes @param ea: (C : ea_t) the address to find a value at @param reg: (C : const int) the registers to find @return: the index of the found register or -1",
"func":1
},
{
"ref":"ida_regfinder.invalidate_regfinder_cache",
"url":38,
"doc":"invalidate_regfinder_cache(to=BADADDR, _from=BADADDR) The control flow from FROM to TO has changed. Remove from the register tracker cache all values at TO and all dependent values. if TO  BADADDR then clear the entire cache. @param to: (C : ea_t) @param from: (C : ea_t)",
"func":1
},
{
"ref":"ida_search",
"url":39,
"doc":"Middle-level search functions. They all are controlled by Search flags"
},
{
"ref":"ida_search.SEARCH_UP",
"url":39,
"doc":"search towards lower addresses"
},
{
"ref":"ida_search.SEARCH_DOWN",
"url":39,
"doc":"search towards higher addresses"
},
{
"ref":"ida_search.SEARCH_NEXT",
"url":39,
"doc":"skip the starting address when searching. this bit is useful only for search(), bin_search(), find_reg_access(). find_ functions skip the starting address automatically."
},
{
"ref":"ida_search.SEARCH_CASE",
"url":39,
"doc":"case-sensitive search (case-insensitive otherwise)"
},
{
"ref":"ida_search.SEARCH_REGEX",
"url":39,
"doc":"regular expressions in search string (supported only for the text search)"
},
{
"ref":"ida_search.SEARCH_NOBRK",
"url":39,
"doc":"do not test if the user clicked cancel to interrupt the search"
},
{
"ref":"ida_search.SEARCH_NOSHOW",
"url":39,
"doc":"do not display the search progress/refresh screen"
},
{
"ref":"ida_search.SEARCH_IDENT",
"url":39,
"doc":"search for an identifier (text search). it means that the characters before and after the match cannot be is_visible_char()."
},
{
"ref":"ida_search.SEARCH_BRK",
"url":39,
"doc":"return BADADDR if the search was cancelled."
},
{
"ref":"ida_search.SEARCH_USE",
"url":39,
"doc":"find_reg_access: search for a use (read access)"
},
{
"ref":"ida_search.SEARCH_DEF",
"url":39,
"doc":"find_reg_access: search for a definition (write access)"
},
{
"ref":"ida_search.SEARCH_USESEL",
"url":39,
"doc":"query the UI for a possible current selection to limit the search to"
},
{
"ref":"ida_search.search_down",
"url":39,
"doc":"search_down(sflag) -> bool Is the SEARCH_DOWN bit set? @param sflag: (C : int)",
"func":1
},
{
"ref":"ida_search.find_error",
"url":39,
"doc":"find_error(ea, sflag) -> ea_t Find next error or problem. @param ea: (C : ea_t) @param sflag: (C : int)",
"func":1
},
{
"ref":"ida_search.find_notype",
"url":39,
"doc":"find_notype(ea, sflag) -> ea_t Find next operand without any type info. @param ea: (C : ea_t) @param sflag: (C : int)",
"func":1
},
{
"ref":"ida_search.find_unknown",
"url":39,
"doc":"find_unknown(ea, sflag) -> ea_t Find next unexplored address. @param ea: (C : ea_t) @param sflag: (C : int)",
"func":1
},
{
"ref":"ida_search.find_defined",
"url":39,
"doc":"find_defined(ea, sflag) -> ea_t Find next ea that is the start of an instruction or data. @param ea: (C : ea_t) @param sflag: (C : int)",
"func":1
},
{
"ref":"ida_search.find_suspop",
"url":39,
"doc":"find_suspop(ea, sflag) -> ea_t Find next suspicious operand. @param ea: (C : ea_t) @param sflag: (C : int)",
"func":1
},
{
"ref":"ida_search.find_data",
"url":39,
"doc":"find_data(ea, sflag) -> ea_t Find next data address. @param ea: (C : ea_t) @param sflag: (C : int)",
"func":1
},
{
"ref":"ida_search.find_code",
"url":39,
"doc":"find_code(ea, sflag) -> ea_t Find next code address. @param ea: (C : ea_t) @param sflag: (C : int)",
"func":1
},
{
"ref":"ida_search.find_not_func",
"url":39,
"doc":"find_not_func(ea, sflag) -> ea_t Find next code address that does not belong to a function. @param ea: (C : ea_t) @param sflag: (C : int)",
"func":1
},
{
"ref":"ida_search.find_imm",
"url":39,
"doc":"find_imm(ea, sflag, search_value) -> ea_t Find next immediate operand with the given value. @param ea: (C : ea_t) @param sflag: (C : int) @param search_value: (C : uval_t)",
"func":1
},
{
"ref":"ida_search.find_text",
"url":39,
"doc":"find_text(start_ea, y, x, ustr, sflag) -> ea_t See search() @param start_ea: (C : ea_t) @param y: (C : int) @param x: (C : int) @param ustr: (C : const char  ) char const  @param sflag: (C : int)",
"func":1
},
{
"ref":"ida_search.find_reg_access",
"url":39,
"doc":"find_reg_access(out, start_ea, end_ea, regname, sflag) -> ea_t Find access to a register. @param out: (C : struct reg_access_t  ) pointer to the output buffer. must be non-null. upon success contains info about the found register. upon failed search for a read access out->range contains the info about the non-redefined parts of the register. @param start_ea: (C : ea_t) starting address @param end_ea: (C : ea_t) ending address. BADADDR means that the end limit is missing. otherwise, if the search direction is SEARCH_UP, END_EA must be lower than START_EA. @param regname: (C : const char  ) the register to search for. @param sflag: (C : int) combination of Search flags bits. @note: This function does not care about the control flow and probes all instructions in the specified range, starting from START_EA. Only direct references to registers are detected. Function calls and system traps are ignored. @return: the found address. BADADDR if not found or error.",
"func":1
},
{
"ref":"ida_segment",
"url":40,
"doc":"Functions that deal with segments. IDA requires that all program addresses belong to segments (each address must belong to exactly one segment). The situation when an address doesn't belong to any segment is allowed as a temporary situation only when the user changes program segmentation. Bytes outside a segment can't be converted to instructions, have names, comments, etc. Each segment has its start address, ending address and represents a contiguous range of addresses. There might be unused holes between segments. Each segment has its unique segment selector. This selector is used to distinguish the segment from other segments. For 16-bit programs the selector is equal to the segment base paragraph. For 32-bit programs there is special array to translate the selectors to the segment base paragraphs. A selector is a 32/64 bit value. The segment base paragraph determines the offsets in the segment. If the start address of the segment  (base  4) then the first offset in the segment will be 0. The start address should be higher or equal to (base  4). We will call the offsets in the segment 'virtual addresses'. So, the virtual address of the first byte of the segment is (start address of segment - segment base linear address) For IBM PC, the virtual address corresponds to the offset part of the address. For other processors (Z80, for example), virtual addresses correspond to Z80 addresses and linear addresses are used only internally. For MS Windows programs the segment base paragraph is 0 and therefore the segment virtual addresses are equal to linear addresses."
},
{
"ref":"ida_segment.segment_defsr_array",
"url":40,
"doc":"Proxy of C wrapped_array_t class. __init__(self, data) -> segment_defsr_array @param data: unsigned long long (&)[SREG_NUM]"
},
{
"ref":"ida_segment.segment_defsr_array.thisown",
"url":40,
"doc":"The membership flag"
},
{
"ref":"ida_segment.segment_defsr_array.data",
"url":40,
"doc":"data"
},
{
"ref":"ida_segment.segment_defsr_array.bytes",
"url":40,
"doc":"_get_bytes(self) -> bytevec_t"
},
{
"ref":"ida_segment.set_segment_translations",
"url":40,
"doc":"set_segment_translations(segstart, transmap) -> bool Set new translation list. @param segstart: (C : ea_t) start address of the segment to add translation to @param transmap: (C : const eavec_t &) vector of segment start addresses for the translation list. If transmap is empty, the translation list is deleted. @retval 1: ok @retval 0: too many translations or bad segstart",
"func":1
},
{
"ref":"ida_segment.SREG_NUM",
"url":40,
"doc":"Maximum number of segment registers is 16 (see segregs.hpp)"
},
{
"ref":"ida_segment.segment_t",
"url":40,
"doc":"Proxy of C segment_t class. __init__(self) -> segment_t"
},
{
"ref":"ida_segment.segment_t.thisown",
"url":40,
"doc":"The membership flag"
},
{
"ref":"ida_segment.segment_t.name",
"url":40,
"doc":"use get/set_segm_name() functions"
},
{
"ref":"ida_segment.segment_t.sclass",
"url":40,
"doc":"use get/set_segm_class() functions"
},
{
"ref":"ida_segment.segment_t.orgbase",
"url":40,
"doc":"this field is IDP dependent. you may keep your information about the segment here"
},
{
"ref":"ida_segment.segment_t.align",
"url":40,
"doc":"Segment alignment codes"
},
{
"ref":"ida_segment.segment_t.comb",
"url":40,
"doc":"Segment combination codes"
},
{
"ref":"ida_segment.segment_t.perm",
"url":40,
"doc":"Segment permissions (0 means no information)"
},
{
"ref":"ida_segment.segment_t.bitness",
"url":40,
"doc":"Number of bits in the segment addressing  0: 16 bits  1: 32 bits  2: 64 bits"
},
{
"ref":"ida_segment.segment_t.is_16bit",
"url":40,
"doc":"is_16bit(self) -> bool Is a 16-bit segment?",
"func":1
},
{
"ref":"ida_segment.segment_t.is_32bit",
"url":40,
"doc":"is_32bit(self) -> bool Is a 32-bit segment?",
"func":1
},
{
"ref":"ida_segment.segment_t.is_64bit",
"url":40,
"doc":"is_64bit(self) -> bool Is a 64-bit segment?",
"func":1
},
{
"ref":"ida_segment.segment_t.abits",
"url":40,
"doc":"abits(self) -> int Get number of address bits.",
"func":1
},
{
"ref":"ida_segment.segment_t.abytes",
"url":40,
"doc":"abytes(self) -> int Get number of address bytes.",
"func":1
},
{
"ref":"ida_segment.segment_t.flags",
"url":40,
"doc":"Segment flags"
},
{
"ref":"ida_segment.segment_t.comorg",
"url":40,
"doc":"comorg(self) -> bool",
"func":1
},
{
"ref":"ida_segment.segment_t.set_comorg",
"url":40,
"doc":"set_comorg(self)",
"func":1
},
{
"ref":"ida_segment.segment_t.clr_comorg",
"url":40,
"doc":"clr_comorg(self)",
"func":1
},
{
"ref":"ida_segment.segment_t.ob_ok",
"url":40,
"doc":"ob_ok(self) -> bool",
"func":1
},
{
"ref":"ida_segment.segment_t.set_ob_ok",
"url":40,
"doc":"set_ob_ok(self)",
"func":1
},
{
"ref":"ida_segment.segment_t.clr_ob_ok",
"url":40,
"doc":"clr_ob_ok(self)",
"func":1
},
{
"ref":"ida_segment.segment_t.is_visible_segm",
"url":40,
"doc":"is_visible_segm(self) -> bool",
"func":1
},
{
"ref":"ida_segment.segment_t.set_visible_segm",
"url":40,
"doc":"set_visible_segm(self, visible) @param visible: bool",
"func":1
},
{
"ref":"ida_segment.segment_t.set_debugger_segm",
"url":40,
"doc":"set_debugger_segm(self, debseg) @param debseg: bool",
"func":1
},
{
"ref":"ida_segment.segment_t.is_loader_segm",
"url":40,
"doc":"is_loader_segm(self) -> bool",
"func":1
},
{
"ref":"ida_segment.segment_t.set_loader_segm",
"url":40,
"doc":"set_loader_segm(self, ldrseg) @param ldrseg: bool",
"func":1
},
{
"ref":"ida_segment.segment_t.is_hidden_segtype",
"url":40,
"doc":"is_hidden_segtype(self) -> bool",
"func":1
},
{
"ref":"ida_segment.segment_t.set_hidden_segtype",
"url":40,
"doc":"set_hidden_segtype(self, hide) @param hide: bool",
"func":1
},
{
"ref":"ida_segment.segment_t.is_header_segm",
"url":40,
"doc":"is_header_segm(self) -> bool",
"func":1
},
{
"ref":"ida_segment.segment_t.set_header_segm",
"url":40,
"doc":"set_header_segm(self, on) @param on: bool",
"func":1
},
{
"ref":"ida_segment.segment_t.sel",
"url":40,
"doc":"segment selector - should be unique. You can't change this field after creating the segment. Exception: 16bit OMF files may have several segments with the same selector, but this is not good (no way to denote a segment exactly) so it should be fixed in the future."
},
{
"ref":"ida_segment.segment_t.defsr",
"url":40,
"doc":"default segment register values. first element of this array keeps information about value of processor_t reg_first_sreg"
},
{
"ref":"ida_segment.segment_t.type",
"url":40,
"doc":"segment type (see Segment types). The kernel treats different segment types differently. Segments marked with ' ' contain no instructions or data and are not declared as 'segments' in the disassembly."
},
{
"ref":"ida_segment.segment_t.color",
"url":40,
"doc":"the segment color"
},
{
"ref":"ida_segment.segment_t.update",
"url":40,
"doc":"update(self) -> bool Update segment information. You must call this function after modification of segment characteristics. Note that not all fields of segment structure may be modified directly, there are special functions to modify some fields. @return: success",
"func":1
},
{
"ref":"ida_segment.segment_t.start_ea",
"url":40,
"doc":"start_ea"
},
{
"ref":"ida_segment.segment_t.end_ea",
"url":40,
"doc":"end_ea"
},
{
"ref":"ida_segment.segment_t.use64",
"url":40,
"doc":"is_64bit(self) -> bool Is a 64-bit segment?",
"func":1
},
{
"ref":"ida_segment.segment_t.compare",
"url":5,
"doc":"compare(self, r) -> int @param r: range_t const &",
"func":1
},
{
"ref":"ida_segment.segment_t.contains",
"url":5,
"doc":"contains(self, ea) -> bool Is every ea in 'r' also in this range_t? @param ea: ea_t contains(self, r) -> bool @param r: range_t const &",
"func":1
},
{
"ref":"ida_segment.segment_t.overlaps",
"url":5,
"doc":"overlaps(self, r) -> bool Is there an ea in 'r' that is also in this range_t? @param r: (C : const range_t &) range_t const &",
"func":1
},
{
"ref":"ida_segment.segment_t.clear",
"url":5,
"doc":"clear(self) Set start_ea, end_ea to 0.",
"func":1
},
{
"ref":"ida_segment.segment_t.empty",
"url":5,
"doc":"empty(self) -> bool Is the size of the range_t <= 0?",
"func":1
},
{
"ref":"ida_segment.segment_t.size",
"url":5,
"doc":"size(self) -> asize_t Get end_ea - start_ea.",
"func":1
},
{
"ref":"ida_segment.segment_t.intersect",
"url":5,
"doc":"intersect(self, r) Assign the range_t to the intersection between the range_t and 'r'. @param r: (C : const range_t &) range_t const &",
"func":1
},
{
"ref":"ida_segment.segment_t.extend",
"url":5,
"doc":"extend(self, ea) Ensure that the range_t includes 'ea'. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_segment.saAbs",
"url":40,
"doc":"Absolute segment."
},
{
"ref":"ida_segment.saRelByte",
"url":40,
"doc":"Relocatable, byte aligned."
},
{
"ref":"ida_segment.saRelWord",
"url":40,
"doc":"Relocatable, word (2-byte) aligned."
},
{
"ref":"ida_segment.saRelPara",
"url":40,
"doc":"Relocatable, paragraph (16-byte) aligned."
},
{
"ref":"ida_segment.saRelPage",
"url":40,
"doc":"Relocatable, aligned on 256-byte boundary."
},
{
"ref":"ida_segment.saRelDble",
"url":40,
"doc":"Relocatable, aligned on a double word (4-byte) boundary."
},
{
"ref":"ida_segment.saRel4K",
"url":40,
"doc":"This value is used by the PharLap OMF for page (4K) alignment. It is not supported by LINK."
},
{
"ref":"ida_segment.saGroup",
"url":40,
"doc":"Segment group."
},
{
"ref":"ida_segment.saRel32Bytes",
"url":40,
"doc":"32 bytes"
},
{
"ref":"ida_segment.saRel64Bytes",
"url":40,
"doc":"64 bytes"
},
{
"ref":"ida_segment.saRelQword",
"url":40,
"doc":"8 bytes"
},
{
"ref":"ida_segment.saRel128Bytes",
"url":40,
"doc":"128 bytes"
},
{
"ref":"ida_segment.saRel512Bytes",
"url":40,
"doc":"512 bytes"
},
{
"ref":"ida_segment.saRel1024Bytes",
"url":40,
"doc":"1024 bytes"
},
{
"ref":"ida_segment.saRel2048Bytes",
"url":40,
"doc":"2048 bytes"
},
{
"ref":"ida_segment.scPriv",
"url":40,
"doc":"Private. Do not combine with any other program segment."
},
{
"ref":"ida_segment.scGroup",
"url":40,
"doc":"Segment group."
},
{
"ref":"ida_segment.scPub",
"url":40,
"doc":"Public. Combine by appending at an offset that meets the alignment requirement."
},
{
"ref":"ida_segment.scPub2",
"url":40,
"doc":"As defined by Microsoft, same as C=2 (public)."
},
{
"ref":"ida_segment.scStack",
"url":40,
"doc":"Stack. Combine as for C=2. This combine type forces byte alignment."
},
{
"ref":"ida_segment.scCommon",
"url":40,
"doc":"Common. Combine by overlay using maximum size."
},
{
"ref":"ida_segment.scPub3",
"url":40,
"doc":"As defined by Microsoft, same as C=2 (public)."
},
{
"ref":"ida_segment.SEGPERM_EXEC",
"url":40,
"doc":"Execute."
},
{
"ref":"ida_segment.SEGPERM_WRITE",
"url":40,
"doc":"Write."
},
{
"ref":"ida_segment.SEGPERM_READ",
"url":40,
"doc":"Read."
},
{
"ref":"ida_segment.SEGPERM_MAXVAL",
"url":40,
"doc":"Execute + Write + Read."
},
{
"ref":"ida_segment.SEG_MAX_BITNESS_CODE",
"url":40,
"doc":"Maximum segment bitness value."
},
{
"ref":"ida_segment.SFL_COMORG",
"url":40,
"doc":"IDP dependent field (IBM PC: if set, ORG directive is not commented out)"
},
{
"ref":"ida_segment.SFL_OBOK",
"url":40,
"doc":"Orgbase is present? (IDP dependent field)"
},
{
"ref":"ida_segment.SFL_HIDDEN",
"url":40,
"doc":"Is the segment hidden?"
},
{
"ref":"ida_segment.SFL_DEBUG",
"url":40,
"doc":"Is the segment created for the debugger?. Such segments are temporary and do not have permanent flags."
},
{
"ref":"ida_segment.SFL_LOADER",
"url":40,
"doc":"Is the segment created by the loader?"
},
{
"ref":"ida_segment.SFL_HIDETYPE",
"url":40,
"doc":"Hide segment type (do not print it in the listing)"
},
{
"ref":"ida_segment.SFL_HEADER",
"url":40,
"doc":"Header segment (do not create offsets to it in the disassembly)"
},
{
"ref":"ida_segment.SEG_NORM",
"url":40,
"doc":"unknown type, no assumptions"
},
{
"ref":"ida_segment.SEG_XTRN",
"url":40,
"doc":" segment with 'extern' definitions. no instructions are allowed"
},
{
"ref":"ida_segment.SEG_CODE",
"url":40,
"doc":"code segment"
},
{
"ref":"ida_segment.SEG_DATA",
"url":40,
"doc":"data segment"
},
{
"ref":"ida_segment.SEG_IMP",
"url":40,
"doc":"java: implementation segment"
},
{
"ref":"ida_segment.SEG_GRP",
"url":40,
"doc":" group of segments"
},
{
"ref":"ida_segment.SEG_NULL",
"url":40,
"doc":"zero-length segment"
},
{
"ref":"ida_segment.SEG_UNDF",
"url":40,
"doc":"undefined segment type (not used)"
},
{
"ref":"ida_segment.SEG_BSS",
"url":40,
"doc":"uninitialized segment"
},
{
"ref":"ida_segment.SEG_ABSSYM",
"url":40,
"doc":" segment with definitions of absolute symbols"
},
{
"ref":"ida_segment.SEG_COMM",
"url":40,
"doc":" segment with communal definitions"
},
{
"ref":"ida_segment.SEG_IMEM",
"url":40,
"doc":"internal processor memory & sfr (8051)"
},
{
"ref":"ida_segment.SEG_MAX_SEGTYPE_CODE",
"url":40,
"doc":"maximum value segment type can take"
},
{
"ref":"ida_segment.is_visible_segm",
"url":40,
"doc":"is_visible_segm(s) -> bool See SFL_HIDDEN. @param s: (C : segment_t  )",
"func":1
},
{
"ref":"ida_segment.is_finally_visible_segm",
"url":40,
"doc":"is_finally_visible_segm(s) -> bool See SFL_HIDDEN, SCF_SHHID_SEGM. @param s: (C : segment_t  )",
"func":1
},
{
"ref":"ida_segment.set_visible_segm",
"url":40,
"doc":"set_visible_segm(s, visible) See SFL_HIDDEN. @param s: (C : segment_t  ) @param visible: (C : bool)",
"func":1
},
{
"ref":"ida_segment.is_spec_segm",
"url":40,
"doc":"is_spec_segm(seg_type) -> bool Has segment a special type?. (SEG_XTRN, SEG_GRP, SEG_ABSSYM, SEG_COMM) @param seg_type: (C : uchar)",
"func":1
},
{
"ref":"ida_segment.is_spec_ea",
"url":40,
"doc":"is_spec_ea(ea) -> bool Does the address belong to a segment with a special type?. (SEG_XTRN, SEG_GRP, SEG_ABSSYM, SEG_COMM) @param ea: (C : ea_t) linear address",
"func":1
},
{
"ref":"ida_segment.lock_segm",
"url":40,
"doc":"lock_segm(segm, lock) Lock segment pointer Locked pointers are guaranteed to remain valid until they are unlocked. Ranges with locked pointers cannot be deleted or moved. @param segm: (C : const segment_t  ) segment_t const  @param lock: (C : bool)",
"func":1
},
{
"ref":"ida_segment.lock_segment",
"url":40,
"doc":"Proxy of C lock_segment class. __init__(self, _segm) -> lock_segment @param _segm: segment_t const  "
},
{
"ref":"ida_segment.lock_segment.thisown",
"url":40,
"doc":"The membership flag"
},
{
"ref":"ida_segment.is_segm_locked",
"url":40,
"doc":"is_segm_locked(segm) -> bool Is a segment pointer locked? @param segm: (C : const segment_t  ) segment_t const  ",
"func":1
},
{
"ref":"ida_segment.getn_selector",
"url":40,
"doc":"getn_selector(n) -> bool Get description of selector (0 get_selector_qty()-1) @param n: (C : int)",
"func":1
},
{
"ref":"ida_segment.get_selector_qty",
"url":40,
"doc":"get_selector_qty() -> size_t Get number of defined selectors.",
"func":1
},
{
"ref":"ida_segment.setup_selector",
"url":40,
"doc":"setup_selector(segbase) -> sel_t Allocate a selector for a segment if necessary. You must call this function before calling add_segm_ex(). add_segm() calls this function itself, so you don't need to allocate a selector. This function will allocate a selector if 'segbase' requires more than 16 bits and the current processor is IBM PC. Otherwise it will return the segbase value. @param segbase: (C : ea_t) a new segment base paragraph @return: the allocated selector number",
"func":1
},
{
"ref":"ida_segment.allocate_selector",
"url":40,
"doc":"allocate_selector(segbase) -> sel_t Allocate a selector for a segment unconditionally. You must call this function before calling add_segm_ex(). add_segm() calls this function itself, so you don't need to allocate a selector. This function will allocate a new free selector and setup its mapping using find_free_selector() and set_selector() functions. @param segbase: (C : ea_t) a new segment base paragraph @return: the allocated selector number",
"func":1
},
{
"ref":"ida_segment.find_free_selector",
"url":40,
"doc":"find_free_selector() -> sel_t Find first unused selector. @return: a number >= 1",
"func":1
},
{
"ref":"ida_segment.set_selector",
"url":40,
"doc":"set_selector(selector, paragraph) -> int Set mapping of selector to a paragraph. You should call this function _before_ creating a segment which uses the selector, otherwise the creation of the segment will fail. @param selector: (C : sel_t) number of selector to map  if selector  BADSEL, then return 0 (fail)  if the selector has had a mapping, old mapping is destroyed  if the selector number is equal to paragraph value, then the mapping is destroyed because we don't need to keep trivial mappings. @param paragraph: (C : ea_t) paragraph to map selector @retval 1: ok @retval 0: failure (bad selector or too many mappings)",
"func":1
},
{
"ref":"ida_segment.del_selector",
"url":40,
"doc":"del_selector(selector) Delete mapping of a selector. Be wary of deleting selectors that are being used in the program, this can make a mess in the segments. @param selector: (C : sel_t) number of selector to remove from the translation table",
"func":1
},
{
"ref":"ida_segment.sel2para",
"url":40,
"doc":"sel2para(selector) -> ea_t Get mapping of a selector. @param selector: (C : sel_t) number of selector to translate @return: paragraph the specified selector is mapped to. if there is no mapping, returns 'selector'.",
"func":1
},
{
"ref":"ida_segment.sel2ea",
"url":40,
"doc":"sel2ea(selector) -> ea_t Get mapping of a selector as a linear address. @param selector: (C : sel_t) number of selector to translate to linear address @return: linear address the specified selector is mapped to. if there is no mapping, returns to_ea(selector,0);",
"func":1
},
{
"ref":"ida_segment.find_selector",
"url":40,
"doc":"find_selector(base) -> sel_t Find a selector that has mapping to the specified paragraph. @param base: (C : ea_t) paragraph to search in the translation table @return: selector value or base",
"func":1
},
{
"ref":"ida_segment.get_segm_by_sel",
"url":40,
"doc":"get_segm_by_sel(selector) -> segment_t Get pointer to segment structure. This function finds a segment by its selector. If there are several segments with the same selectors, the last one will be returned. @param selector: (C : sel_t) a segment with the specified selector will be returned @return: pointer to segment or nullptr",
"func":1
},
{
"ref":"ida_segment.add_segm_ex",
"url":40,
"doc":"add_segm_ex(NONNULL_s, name, sclass, flags) -> bool Add a new segment. If a segment already exists at the specified range of addresses, this segment will be truncated. Instructions and data in the old segment will be deleted if the new segment has another addressing mode or another segment base address. @param NONNULL_s: (C : segment_t  ) @param name: (C : const char  ) name of new segment. may be nullptr. if specified, the segment is immediately renamed @param sclass: (C : const char  ) class of the segment. may be nullptr. if specified, the segment class is immediately changed @param flags: (C : int) Add segment flags @retval 1: ok @retval 0: failed, a warning message is displayed",
"func":1
},
{
"ref":"ida_segment.ADDSEG_NOSREG",
"url":40,
"doc":"set all default segment register values to BADSEL (undefine all default segment registers)"
},
{
"ref":"ida_segment.ADDSEG_OR_DIE",
"url":40,
"doc":"qexit() if can't add a segment"
},
{
"ref":"ida_segment.ADDSEG_NOTRUNC",
"url":40,
"doc":"don't truncate the new segment at the beginning of the next segment if they overlap. destroy/truncate old segments instead."
},
{
"ref":"ida_segment.ADDSEG_QUIET",
"url":40,
"doc":"silent mode, no \"Adding segment .\" in the messages window"
},
{
"ref":"ida_segment.ADDSEG_FILLGAP",
"url":40,
"doc":"fill gap between new segment and previous one. i.e. if such a gap exists, and this gap is less than 64K, then fill the gap by extending the previous segment and adding .align directive to it. This way we avoid gaps between segments. too many gaps lead to a virtual array failure. it cannot hold more than ~1000 gaps."
},
{
"ref":"ida_segment.ADDSEG_SPARSE",
"url":40,
"doc":"use sparse storage method for the new ranges of the created segment. please note that the ranges that were already enabled before creating the segment will not change their storage type."
},
{
"ref":"ida_segment.ADDSEG_NOAA",
"url":40,
"doc":"do not mark new segment for auto-analysis"
},
{
"ref":"ida_segment.ADDSEG_IDBENC",
"url":40,
"doc":"'name' and 'sclass' are given in the IDB encoding; non-ASCII bytes will be decoded accordingly"
},
{
"ref":"ida_segment.add_segm",
"url":40,
"doc":"add_segm(para, start, end, name, sclass, flags=0) -> bool Add a new segment, second form. Segment alignment is set to saRelByte. Segment combination is \"public\" or \"stack\" (if segment class is \"STACK\"). Addressing mode of segment is taken as default (16bit or 32bit). Default segment registers are set to BADSEL. If a segment already exists at the specified range of addresses, this segment will be truncated. Instructions and data in the old segment will be deleted if the new segment has another addressing mode or another segment base address. @param para: (C : ea_t) segment base paragraph. if paragraph can't fit in 16bit, then a new selector is allocated and mapped to the paragraph. @param start: (C : ea_t) start address of the segment. if start BADADDR then start  SEG_CODE  \"DATA\" -> SEG_DATA  \"CONST\" -> SEG_DATA  \"STACK\" -> SEG_BSS  \"BSS\" -> SEG_BSS  \"XTRN\" -> SEG_XTRN  \"COMM\" -> SEG_COMM  \"ABS\" -> SEG_ABSSYM @param flags: (C : int) Add segment flags @retval 1: ok @retval 0: failed, a warning message is displayed",
"func":1
},
{
"ref":"ida_segment.del_segm",
"url":40,
"doc":"del_segm(ea, flags) -> bool Delete a segment. @param ea: (C : ea_t) any address belonging to the segment @param flags: (C : int) Segment modification flags @retval 1: ok @retval 0: failed, no segment at 'ea'.",
"func":1
},
{
"ref":"ida_segment.SEGMOD_KILL",
"url":40,
"doc":"disable addresses if segment gets shrinked or deleted"
},
{
"ref":"ida_segment.SEGMOD_KEEP",
"url":40,
"doc":"keep information (code & data, etc)"
},
{
"ref":"ida_segment.SEGMOD_SILENT",
"url":40,
"doc":"be silent"
},
{
"ref":"ida_segment.SEGMOD_KEEP0",
"url":40,
"doc":"flag for internal use, don't set"
},
{
"ref":"ida_segment.SEGMOD_KEEPSEL",
"url":40,
"doc":"do not try to delete unused selector"
},
{
"ref":"ida_segment.SEGMOD_NOMOVE",
"url":40,
"doc":"don't move info from the start of segment to the new start address (for set_segm_start( "
},
{
"ref":"ida_segment.SEGMOD_SPARSE",
"url":40,
"doc":"use sparse storage if extending the segment (for set_segm_start(), set_segm_end( "
},
{
"ref":"ida_segment.get_segm_qty",
"url":40,
"doc":"get_segm_qty() -> int Get number of segments.",
"func":1
},
{
"ref":"ida_segment.getseg",
"url":40,
"doc":"getseg(ea) -> segment_t Get pointer to segment by linear address. @param ea: (C : ea_t) linear address belonging to the segment @return: nullptr or pointer to segment structure",
"func":1
},
{
"ref":"ida_segment.getnseg",
"url":40,
"doc":"getnseg(n) -> segment_t Get pointer to segment by its number. @warning: Obsoleted because it can slow down the debugger (it has to refresh the whole memory segmentation to calculate the correct answer) @param n: (C : int) segment number in the range (0 get_segm_qty()-1) @return: nullptr or pointer to segment structure",
"func":1
},
{
"ref":"ida_segment.get_segm_num",
"url":40,
"doc":"get_segm_num(ea) -> int Get number of segment by address. @param ea: (C : ea_t) linear address belonging to the segment @return: -1 if no segment occupies the specified address. otherwise returns number of the specified segment (0 get_segm_qty()-1)",
"func":1
},
{
"ref":"ida_segment.get_next_seg",
"url":40,
"doc":"get_next_seg(ea) -> segment_t Get pointer to the next segment. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_segment.get_prev_seg",
"url":40,
"doc":"get_prev_seg(ea) -> segment_t Get pointer to the previous segment. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_segment.get_first_seg",
"url":40,
"doc":"get_first_seg() -> segment_t Get pointer to the first segment.",
"func":1
},
{
"ref":"ida_segment.get_last_seg",
"url":40,
"doc":"get_last_seg() -> segment_t Get pointer to the last segment.",
"func":1
},
{
"ref":"ida_segment.get_segm_by_name",
"url":40,
"doc":"get_segm_by_name(name) -> segment_t Get pointer to segment by its name. If there are several segments with the same name, returns the first of them. @param name: (C : const char  ) segment name. may be nullptr. @return: nullptr or pointer to segment structure",
"func":1
},
{
"ref":"ida_segment.set_segm_end",
"url":40,
"doc":"set_segm_end(ea, newend, flags) -> bool Set segment end address. The next segment is shrinked to allow expansion of the specified segment. The kernel might even delete the next segment if necessary. The kernel will ask the user for a permission to destroy instructions or data going out of segment scope if such instructions exist. @param ea: (C : ea_t) any address belonging to the segment @param newend: (C : ea_t) new end address of the segment @param flags: (C : int) Segment modification flags @retval 1: ok @retval 0: failed, a warning message is displayed",
"func":1
},
{
"ref":"ida_segment.set_segm_start",
"url":40,
"doc":"set_segm_start(ea, newstart, flags) -> bool Set segment start address. The previous segment is trimmed to allow expansion of the specified segment. The kernel might even delete the previous segment if necessary. The kernel will ask the user for a permission to destroy instructions or data going out of segment scope if such instructions exist. @param ea: (C : ea_t) any address belonging to the segment @param newstart: (C : ea_t) new start address of the segment note that segment start address should be higher than segment base linear address. @param flags: (C : int) Segment modification flags @retval 1: ok @retval 0: failed, a warning message is displayed",
"func":1
},
{
"ref":"ida_segment.move_segm_start",
"url":40,
"doc":"move_segm_start(ea, newstart, mode) -> bool Move segment start. The main difference between this function and set_segm_start() is that this function may expand the previous segment while set_segm_start() never does it. So, this function allows to change bounds of two segments simultaneously. If the previous segment and the specified segment have the same addressing mode and segment base, then instructions and data are not destroyed - they simply move from one segment to another. Otherwise all instructions/data which migrate from one segment to another are destroyed. @note: this function never disables addresses. @param ea: (C : ea_t) any address belonging to the segment @param newstart: (C : ea_t) new start address of the segment note that segment start address should be higher than segment base linear address. @param mode: (C : int) policy for destroying defined items  0: if it is necessary to destroy defined items, display a dialog box and ask confirmation  1: if it is necessary to destroy defined items, just destroy them without asking the user  -1: if it is necessary to destroy defined items, don't destroy them (i.e. function will fail)  -2: don't destroy defined items (function will succeed) @retval 1: ok @retval 0: failed, a warning message is displayed",
"func":1
},
{
"ref":"ida_segment.MOVE_SEGM_OK",
"url":40,
"doc":"all ok"
},
{
"ref":"ida_segment.MOVE_SEGM_PARAM",
"url":40,
"doc":"The specified segment does not exist."
},
{
"ref":"ida_segment.MOVE_SEGM_ROOM",
"url":40,
"doc":"Not enough free room at the target address."
},
{
"ref":"ida_segment.MOVE_SEGM_IDP",
"url":40,
"doc":"IDP module forbids moving the segment."
},
{
"ref":"ida_segment.MOVE_SEGM_CHUNK",
"url":40,
"doc":"Too many chunks are defined, can't move."
},
{
"ref":"ida_segment.MOVE_SEGM_LOADER",
"url":40,
"doc":"The segment has been moved but the loader complained."
},
{
"ref":"ida_segment.MOVE_SEGM_ODD",
"url":40,
"doc":"Cannot move segments by an odd number of bytes."
},
{
"ref":"ida_segment.MOVE_SEGM_ORPHAN",
"url":40,
"doc":"Orphan bytes hinder segment movement."
},
{
"ref":"ida_segment.MOVE_SEGM_DEBUG",
"url":40,
"doc":"Debugger segments cannot be moved."
},
{
"ref":"ida_segment.MOVE_SEGM_SOURCEFILES",
"url":40,
"doc":"Source files ranges of addresses hinder segment movement."
},
{
"ref":"ida_segment.MOVE_SEGM_MAPPING",
"url":40,
"doc":"Memory mapping ranges of addresses hinder segment movement."
},
{
"ref":"ida_segment.MOVE_SEGM_INVAL",
"url":40,
"doc":"Invalid argument (delta/target does not fit the address space)"
},
{
"ref":"ida_segment.move_segm_strerror",
"url":40,
"doc":"move_segm_strerror(code) -> char const  Return string describing error MOVE_SEGM_ . code. @param code: (C : move_segm_code_t) enum move_segm_code_t",
"func":1
},
{
"ref":"ida_segment.move_segm",
"url":40,
"doc":"move_segm(s, to, flags=0) -> move_segm_code_t This function moves all information to the new address. It fixes up address sensitive information in the kernel. The total effect is equal to reloading the segment to the target address. For the file format dependent address sensitive information, loader_t move_segm is called. Also IDB notification event idb_event segm_moved is called. @param s: (C : segment_t  ) segment to move @param to: (C : ea_t) new segment start address @param flags: (C : int) Move segment flags @return: Move segment result codes",
"func":1
},
{
"ref":"ida_segment.MSF_SILENT",
"url":40,
"doc":"don't display a \"please wait\" box on the screen"
},
{
"ref":"ida_segment.MSF_NOFIX",
"url":40,
"doc":"don't call the loader to fix relocations"
},
{
"ref":"ida_segment.MSF_LDKEEP",
"url":40,
"doc":"keep the loader in the memory (optimization)"
},
{
"ref":"ida_segment.MSF_FIXONCE",
"url":40,
"doc":"call loader only once with the special calling method. valid for rebase_program(). see loader_t move_segm."
},
{
"ref":"ida_segment.MSF_PRIORITY",
"url":40,
"doc":"loader segments will overwrite any existing debugger segments when moved. valid for move_segm()"
},
{
"ref":"ida_segment.MSF_NETNODES",
"url":40,
"doc":"move netnodes instead of changing inf.netdelta (this is slower); valid for rebase_program()"
},
{
"ref":"ida_segment.change_segment_status",
"url":40,
"doc":"change_segment_status(s, is_deb_segm) -> int Convert a debugger segment to a regular segment and vice versa. When converting debug->regular, the memory contents will be copied to the database. @param s: (C : segment_t  ) segment to modify @param is_deb_segm: (C : bool) new status of the segment @return: Change segment status result codes",
"func":1
},
{
"ref":"ida_segment.CSS_OK",
"url":40,
"doc":"ok"
},
{
"ref":"ida_segment.CSS_NODBG",
"url":40,
"doc":"debugger is not running"
},
{
"ref":"ida_segment.CSS_NORANGE",
"url":40,
"doc":"could not find corresponding memory range"
},
{
"ref":"ida_segment.CSS_NOMEM",
"url":40,
"doc":"not enough memory (might be because the segment is too big)"
},
{
"ref":"ida_segment.CSS_BREAK",
"url":40,
"doc":"memory reading process stopped by user"
},
{
"ref":"ida_segment.SNAP_ALL_SEG",
"url":40,
"doc":"Take a snapshot of all segments."
},
{
"ref":"ida_segment.SNAP_LOAD_SEG",
"url":40,
"doc":"Take a snapshot of loader segments."
},
{
"ref":"ida_segment.SNAP_CUR_SEG",
"url":40,
"doc":"Take a snapshot of current segment."
},
{
"ref":"ida_segment.take_memory_snapshot",
"url":40,
"doc":"take_memory_snapshot(type) -> bool Take a memory snapshot of the running process. @param type: (C : int) specifies which snapshot we want (see SNAP_ Snapshot types) @return: success",
"func":1
},
{
"ref":"ida_segment.is_miniidb",
"url":40,
"doc":"is_miniidb() -> bool Is the database a miniidb created by the debugger?. @return: true if the database contains no segments or only debugger segments",
"func":1
},
{
"ref":"ida_segment.set_segm_base",
"url":40,
"doc":"set_segm_base(s, newbase) -> bool Internal function. @param s: (C : segment_t  ) @param newbase: (C : ea_t)",
"func":1
},
{
"ref":"ida_segment.set_group_selector",
"url":40,
"doc":"set_group_selector(grp, sel) -> int Create a new group of segments (used OMF files). @param grp: (C : sel_t) selector of group segment (segment type is SEG_GRP) You should create an 'empty' (1 byte) group segment It won't contain anything and will be used to redirect references to the group of segments to the common selector. @param sel: (C : sel_t) common selector of all segments belonging to the segment You should create all segments within the group with the same selector value. @return: 1 ok 0 too many groups (see MAX_GROUPS)",
"func":1
},
{
"ref":"ida_segment.MAX_GROUPS",
"url":40,
"doc":"max number of segment groups"
},
{
"ref":"ida_segment.get_group_selector",
"url":40,
"doc":"get_group_selector(grpsel) -> sel_t Get common selector for a group of segments. @param grpsel: (C : sel_t) selector of group segment @return: common selector of the group or 'grpsel' if no such group is found",
"func":1
},
{
"ref":"ida_segment.add_segment_translation",
"url":40,
"doc":"add_segment_translation(segstart, mappedseg) -> bool Add segment translation. @param segstart: (C : ea_t) start address of the segment to add translation to @param mappedseg: (C : ea_t) start address of the overlayed segment @retval 1: ok @retval 0: too many translations or bad segstart",
"func":1
},
{
"ref":"ida_segment.MAX_SEGM_TRANSLATIONS",
"url":40,
"doc":"max number of segment translations"
},
{
"ref":"ida_segment.del_segment_translations",
"url":40,
"doc":"del_segment_translations(segstart) Delete the translation list @param segstart: (C : ea_t) start address of the segment to delete translation list",
"func":1
},
{
"ref":"ida_segment.get_segment_translations",
"url":40,
"doc":"get_segment_translations(transmap, segstart) -> ssize_t Get segment translation list. @param transmap: (C : eavec_t  ) vector of segment start addresses for the translation list @param segstart: (C : ea_t) start address of the segment to get information about @return: -1 if no translation list or bad segstart. otherwise returns size of translation list.",
"func":1
},
{
"ref":"ida_segment.get_segment_cmt",
"url":40,
"doc":"get_segment_cmt(s, repeatable) -> str Get segment comment. @param s: (C : const segment_t  ) pointer to segment structure @param repeatable: (C : bool) 0: get regular comment. 1: get repeatable comment. @return: size of comment or -1",
"func":1
},
{
"ref":"ida_segment.set_segment_cmt",
"url":40,
"doc":"set_segment_cmt(s, cmt, repeatable) Set segment comment. @param s: (C : const segment_t  ) pointer to segment structure @param cmt: (C : const char  ) comment string, may be multiline (with ' '). maximal size is 4096 bytes. Use empty str ( ) to delete comment @param repeatable: (C : bool) 0: set regular comment. 1: set repeatable comment.",
"func":1
},
{
"ref":"ida_segment.std_out_segm_footer",
"url":40,
"doc":"std_out_segm_footer(ctx, seg) Generate segment footer line as a comment line. This function may be used in IDP modules to generate segment footer if the target assembler doesn't have 'ends' directive. @param ctx: (C : struct outctx_t &) outctx_t & @param seg: (C : segment_t  )",
"func":1
},
{
"ref":"ida_segment.set_segm_name",
"url":40,
"doc":"set_segm_name(s, name, flags=0) -> int Rename segment. The new name is validated (see validate_name). A segment always has a name. If you hadn't specified a name, the kernel will assign it \"seg \" name where  is segment number. @param s: (C : segment_t  ) pointer to segment (may be nullptr) @param name: (C : const char  ) new segment name @param flags: (C : int) ADDSEG_IDBENC or 0 @retval 1: ok, name is good and segment is renamed @retval 0: failure, name is bad or segment is nullptr",
"func":1
},
{
"ref":"ida_segment.get_segm_name",
"url":40,
"doc":"get_segm_name(s, flags=0) -> ssize_t Get true segment name by pointer to segment. @param s: (C : const segment_t  ) pointer to segment @param flags: (C : int) 0-return name as is; 1-substitute bad symbols with _ 1 corresponds to GN_VISIBLE @return: size of segment name (-1 if s nullptr)",
"func":1
},
{
"ref":"ida_segment.get_visible_segm_name",
"url":40,
"doc":"get_visible_segm_name(s) -> str Get segment name by pointer to segment. @param s: (C : const segment_t  ) pointer to segment @return: size of segment name (-1 if s nullptr)",
"func":1
},
{
"ref":"ida_segment.get_segm_class",
"url":40,
"doc":"get_segm_class(s) -> str Get segment class. Segment class is arbitrary text (max 8 characters). @param s: (C : const segment_t  ) pointer to segment @return: size of segment class (-1 if s nullptr or bufsize<=0)",
"func":1
},
{
"ref":"ida_segment.set_segm_class",
"url":40,
"doc":"set_segm_class(s, sclass, flags=0) -> int Set segment class. @param s: (C : segment_t  ) pointer to segment (may be nullptr) @param sclass: (C : const char  ) segment class (may be nullptr). If segment type is SEG_NORM and segment class is one of predefined names, then segment type is changed to:  \"CODE\" -> SEG_CODE  \"DATA\" -> SEG_DATA  \"STACK\" -> SEG_BSS  \"BSS\" -> SEG_BSS  if \"UNK\" then segment type is reset to SEG_NORM. @param flags: (C : int) Add segment flags @retval 1: ok, name is good and segment is renamed @retval 0: failure, name is nullptr or bad or segment is nullptr",
"func":1
},
{
"ref":"ida_segment.segtype",
"url":40,
"doc":"segtype(ea) -> uchar Get segment type. @param ea: (C : ea_t) any linear address within the segment @return: Segment types, SEG_UNDF if no segment found at 'ea'",
"func":1
},
{
"ref":"ida_segment.get_segment_alignment",
"url":40,
"doc":"get_segment_alignment(align) -> char const  Get text representation of segment alignment code. @param align: (C : uchar) @return: text digestable by IBM PC assembler.",
"func":1
},
{
"ref":"ida_segment.get_segment_combination",
"url":40,
"doc":"get_segment_combination(comb) -> char const  Get text representation of segment combination code. @param comb: (C : uchar) @return: text digestable by IBM PC assembler.",
"func":1
},
{
"ref":"ida_segment.get_segm_para",
"url":40,
"doc":"get_segm_para(s) -> ea_t Get segment base paragraph. Segment base paragraph may be converted to segment base linear address using to_ea() function. In fact, to_ea(get_segm_para(s), 0)  get_segm_base(s). @param s: (C : const segment_t  ) pointer to segment @return: 0 if s  nullptr, the segment base paragraph",
"func":1
},
{
"ref":"ida_segment.get_segm_base",
"url":40,
"doc":"get_segm_base(s) -> ea_t Get segment base linear address. Segment base linear address is used to calculate virtual addresses. The virtual address of the first byte of the segment will be (start address of segment - segment base linear address) @param s: (C : const segment_t  ) pointer to segment @return: 0 if s  nullptr, otherwise segment base linear address",
"func":1
},
{
"ref":"ida_segment.set_segm_addressing",
"url":40,
"doc":"set_segm_addressing(s, bitness) -> bool Change segment addressing mode (16, 32, 64 bits). You must use this function to change segment addressing, never change the 'bitness' field directly. This function will delete all instructions, comments and names in the segment @param s: (C : segment_t  ) pointer to segment @param bitness: (C : size_t) new addressing mode of segment  2: 64bit segment  1: 32bit segment  0: 16bit segment @return: success",
"func":1
},
{
"ref":"ida_segment.update_segm",
"url":40,
"doc":"update_segm(s) -> bool @param s: segment_t  ",
"func":1
},
{
"ref":"ida_segment.segm_adjust_diff",
"url":40,
"doc":"segm_adjust_diff(s, delta) -> adiff_t Truncate and sign extend a delta depending on the segment. @param s: (C : const segment_t  ) segment_t const  @param delta: (C : adiff_t)",
"func":1
},
{
"ref":"ida_segment.segm_adjust_ea",
"url":40,
"doc":"segm_adjust_ea(s, ea) -> ea_t Truncate an address depending on the segment. @param s: (C : const segment_t  ) segment_t const  @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_segment.get_defsr",
"url":40,
"doc":"get_defsr(s, reg) -> sel_t Deprecated, use instead: value = s.defsr[reg] @param s: segment_t  @param reg: int",
"func":1
},
{
"ref":"ida_segment.set_defsr",
"url":40,
"doc":"set_defsr(s, reg, value) Deprecated, use instead: s.defsr[reg] = value @param s: segment_t  @param reg: int @param value: sel_t",
"func":1
},
{
"ref":"ida_segment.rebase_program",
"url":40,
"doc":"rebase_program(delta, flags) -> int Rebase the whole program by 'delta' bytes. @param delta: (C : adiff_t) number of bytes to move the program @param flags: (C : int) Move segment flags it is recommended to use MSF_FIXONCE so that the loader takes care of global variables it stored in the database @return: Move segment result codes",
"func":1
},
{
"ref":"ida_segregs",
"url":41,
"doc":"Functions that deal with the segment registers. If your processor doesn't use segment registers, then these functions are of no use for you. However, you should define two virtual segment registers - CS and DS (for code segment and data segment) and specify their internal numbers in the LPH structure (processor_t reg_code_sreg and processor_t reg_data_sreg)."
},
{
"ref":"ida_segregs.sreg_range_t",
"url":41,
"doc":"Proxy of C sreg_range_t class. __init__(self) -> sreg_range_t"
},
{
"ref":"ida_segregs.sreg_range_t.thisown",
"url":41,
"doc":"The membership flag"
},
{
"ref":"ida_segregs.sreg_range_t.val",
"url":41,
"doc":"segment register value"
},
{
"ref":"ida_segregs.sreg_range_t.tag",
"url":41,
"doc":"Segment register range tags"
},
{
"ref":"ida_segregs.sreg_range_t.start_ea",
"url":5,
"doc":"start_ea included"
},
{
"ref":"ida_segregs.sreg_range_t.end_ea",
"url":5,
"doc":"end_ea excluded"
},
{
"ref":"ida_segregs.sreg_range_t.compare",
"url":5,
"doc":"compare(self, r) -> int @param r: range_t const &",
"func":1
},
{
"ref":"ida_segregs.sreg_range_t.contains",
"url":5,
"doc":"contains(self, ea) -> bool Is every ea in 'r' also in this range_t? @param ea: ea_t contains(self, r) -> bool @param r: range_t const &",
"func":1
},
{
"ref":"ida_segregs.sreg_range_t.overlaps",
"url":5,
"doc":"overlaps(self, r) -> bool Is there an ea in 'r' that is also in this range_t? @param r: (C : const range_t &) range_t const &",
"func":1
},
{
"ref":"ida_segregs.sreg_range_t.clear",
"url":5,
"doc":"clear(self) Set start_ea, end_ea to 0.",
"func":1
},
{
"ref":"ida_segregs.sreg_range_t.empty",
"url":5,
"doc":"empty(self) -> bool Is the size of the range_t <= 0?",
"func":1
},
{
"ref":"ida_segregs.sreg_range_t.size",
"url":5,
"doc":"size(self) -> asize_t Get end_ea - start_ea.",
"func":1
},
{
"ref":"ida_segregs.sreg_range_t.intersect",
"url":5,
"doc":"intersect(self, r) Assign the range_t to the intersection between the range_t and 'r'. @param r: (C : const range_t &) range_t const &",
"func":1
},
{
"ref":"ida_segregs.sreg_range_t.extend",
"url":5,
"doc":"extend(self, ea) Ensure that the range_t includes 'ea'. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_segregs.SR_inherit",
"url":41,
"doc":"the value is inherited from the previous range"
},
{
"ref":"ida_segregs.SR_user",
"url":41,
"doc":"the value is specified by the user"
},
{
"ref":"ida_segregs.SR_auto",
"url":41,
"doc":"the value is determined by IDA"
},
{
"ref":"ida_segregs.SR_autostart",
"url":41,
"doc":"used as SR_auto for segment starting address"
},
{
"ref":"ida_segregs.get_sreg",
"url":41,
"doc":"get_sreg(ea, rg) -> sel_t Get value of a segment register. This function uses segment register range and default segment register values stored in the segment structure. @param ea: (C : ea_t) linear address in the program @param rg: (C : int) number of the segment register @return: value of the segment register, BADSEL if value is unknown.",
"func":1
},
{
"ref":"ida_segregs.split_sreg_range",
"url":41,
"doc":"split_sreg_range(ea, rg, v, tag, silent=False) -> bool Create a new segment register range. This function is used when the IDP emulator detects that a segment register changes its value. @param ea: (C : ea_t) linear address where the segment register will have a new value. if ea BADADDR, nothing to do. @param rg: (C : int) the number of the segment register @param v: (C : sel_t) the new value of the segment register. If the value is unknown, you should specify BADSEL. @param tag: (C : uchar) the register info tag. see Segment register range tags @param silent: (C : bool) if false, display a warning() in the case of failure @return: success",
"func":1
},
{
"ref":"ida_segregs.set_default_sreg_value",
"url":41,
"doc":"set_default_sreg_value(sg, rg, value) -> bool Set default value of a segment register for a segment. @param sg: (C : segment_t  ) pointer to segment structure if nullptr, then set the register for all segments @param rg: (C : int) number of segment register @param value: (C : sel_t) its default value. this value will be used by get_sreg() if value of the register is unknown at the specified address. @return: success",
"func":1
},
{
"ref":"ida_segregs.set_sreg_at_next_code",
"url":41,
"doc":"set_sreg_at_next_code(ea1, ea2, rg, value) Set the segment register value at the next instruction. This function is designed to be called from idb_event sgr_changed handler in order to contain the effect of changing a segment register value only until the next instruction. It is useful, for example, in the ARM module: the modification of the T register does not affect existing instructions later in the code. @param ea1: (C : ea_t) address to start to search for an instruction @param ea2: (C : ea_t) the maximal address @param rg: (C : int) the segment register number @param value: (C : sel_t) the segment register value",
"func":1
},
{
"ref":"ida_segregs.get_sreg_range",
"url":41,
"doc":"get_sreg_range(out, ea, rg) -> bool Get segment register range by linear address. @param out: (C : sreg_range_t  ) segment register range @param ea: (C : ea_t) any linear address in the program @param rg: (C : int) the segment register number @return: success",
"func":1
},
{
"ref":"ida_segregs.get_prev_sreg_range",
"url":41,
"doc":"get_prev_sreg_range(out, ea, rg) -> bool Get segment register range previous to one with address. @note: more efficient then get_sreg_range(reg, ea-1) @param out: (C : sreg_range_t  ) segment register range @param ea: (C : ea_t) any linear address in the program @param rg: (C : int) the segment register number @return: success",
"func":1
},
{
"ref":"ida_segregs.set_default_dataseg",
"url":41,
"doc":"set_default_dataseg(ds_sel) Set default value of DS register for all segments. @param ds_sel: (C : sel_t)",
"func":1
},
{
"ref":"ida_segregs.get_sreg_ranges_qty",
"url":41,
"doc":"get_sreg_ranges_qty(rg) -> size_t Get number of segment register ranges. @param rg: (C : int) the segment register number",
"func":1
},
{
"ref":"ida_segregs.getn_sreg_range",
"url":41,
"doc":"getn_sreg_range(out, rg, n) -> bool Get segment register range by its number. @param out: (C : sreg_range_t  ) segment register range @param rg: (C : int) the segment register number @param n: (C : int) number of range (0 qty()-1) @return: success",
"func":1
},
{
"ref":"ida_segregs.get_sreg_range_num",
"url":41,
"doc":"get_sreg_range_num(ea, rg) -> int Get number of segment register range by address. @param ea: (C : ea_t) any address in the range @param rg: (C : int) the segment register number @return: -1 if no range occupies the specified address. otherwise returns number of the specified range (0 get_srranges_qty()-1)",
"func":1
},
{
"ref":"ida_segregs.del_sreg_range",
"url":41,
"doc":"del_sreg_range(ea, rg) -> bool Delete segment register range started at ea. When a segment register range is deleted, the previous range is extended to cover the empty space. The segment register range at the beginning of a segment cannot be deleted. @param ea: (C : ea_t) start_ea of the deleted range @param rg: (C : int) the segment register number @return: success",
"func":1
},
{
"ref":"ida_segregs.copy_sreg_ranges",
"url":41,
"doc":"copy_sreg_ranges(dst_rg, src_rg, map_selector=False) Duplicate segment register ranges. @param dst_rg: (C : int) number of destination segment register @param src_rg: (C : int) copy ranges from @param map_selector: (C : bool) map selectors to linear addresses using sel2ea()",
"func":1
},
{
"ref":"ida_srclang",
"url":42,
"doc":"Third-party compiler support."
},
{
"ref":"ida_srclang.SRCLANG_C",
"url":42,
"doc":"C."
},
{
"ref":"ida_srclang.SRCLANG_CPP",
"url":42,
"doc":"C ."
},
{
"ref":"ida_srclang.SRCLANG_OBJC",
"url":42,
"doc":"Objective-C."
},
{
"ref":"ida_srclang.SRCLANG_SWIFT",
"url":42,
"doc":"Swift (not supported yet)"
},
{
"ref":"ida_srclang.SRCLANG_GO",
"url":42,
"doc":"Golang (not supported yet)"
},
{
"ref":"ida_srclang.select_parser_by_name",
"url":42,
"doc":"select_parser_by_name(name) -> bool Set the parser with the given name as the current parser. Pass nullptr or an empty string to select the default parser. @param name: (C : const char  ) char const  @return: false if no parser was found with the given name",
"func":1
},
{
"ref":"ida_srclang.select_parser_by_srclang",
"url":42,
"doc":"select_parser_by_srclang(lang) -> bool Set the parser that supports the given language(s) as the current parser. The selected parser must support all languages specified by the given srclang_t. @param lang: (C : srclang_t) @return: false if no such parser was found",
"func":1
},
{
"ref":"ida_srclang.set_parser_argv",
"url":42,
"doc":"set_parser_argv(parser_name, argv) -> int Set the command-line args to use for invocations of the parser with the given name @param parser_name: (C : const char  ) name of the target parser @param argv: (C : const char  ) argument list @retval -1: no parser was found with the given name @retval -2: the operation is not supported by the given parser @retval 0: success",
"func":1
},
{
"ref":"ida_srclang.parse_decls_for_srclang",
"url":42,
"doc":"parse_decls_for_srclang(lang, til, input, is_path) -> int Parse type declarations in the specified language @param lang: (C : srclang_t) the source language(s) expected in the input @param til: (C : til_t  ) type library to store the types @param input: (C : const char  ) input source. can be a file path or decl string @param is_path: (C : bool) true if input parameter is a path to a source file, false if the input is an in-memory source snippet @retval -1: no parser was found that supports the given source language(s) @retval else: the number of errors encountered in the input source",
"func":1
},
{
"ref":"ida_srclang.parse_decls_with_parser",
"url":42,
"doc":"parse_decls_with_parser(parser_name, til, input, is_path) -> int Parse type declarations using the parser with the specified name @param parser_name: (C : const char  ) name of the target parser @param til: (C : til_t  ) type library to store the types @param input: (C : const char  ) input source. can be a file path or decl string @param is_path: (C : bool) true if input parameter is a path to a source file, false if the input is an in-memory source snippet @retval -1: no parser was found with the given name @retval else: the number of errors encountered in the input source",
"func":1
},
{
"ref":"ida_strlist",
"url":43,
"doc":"Functions that deal with the string list. While the kernel keeps the string list, it does not update it. The string list is not used by the kernel because keeping it up-to-date would slow down IDA without any benefit. If the string list is not cleared using clear_strlist(), the list will be saved to the database and restored on the next startup. The users of this list should call build_strlist() if they need an up-to-date version."
},
{
"ref":"ida_strlist.strwinsetup_t",
"url":43,
"doc":"Proxy of C strwinsetup_t class. __init__(self) -> strwinsetup_t"
},
{
"ref":"ida_strlist.strwinsetup_t.thisown",
"url":43,
"doc":"The membership flag"
},
{
"ref":"ida_strlist.strwinsetup_t.minlen",
"url":43,
"doc":"minlen"
},
{
"ref":"ida_strlist.strwinsetup_t.display_only_existing_strings",
"url":43,
"doc":"display_only_existing_strings"
},
{
"ref":"ida_strlist.strwinsetup_t.only_7bit",
"url":43,
"doc":"only_7bit"
},
{
"ref":"ida_strlist.strwinsetup_t.ignore_heads",
"url":43,
"doc":"ignore_heads"
},
{
"ref":"ida_strlist.strwinsetup_t.strtypes",
"url":43,
"doc":"_get_strtypes(self) -> PyObject  "
},
{
"ref":"ida_strlist.string_info_t",
"url":43,
"doc":"Proxy of C string_info_t class. __init__(self, _ea=BADADDR) -> string_info_t @param _ea: ea_t"
},
{
"ref":"ida_strlist.string_info_t.thisown",
"url":43,
"doc":"The membership flag"
},
{
"ref":"ida_strlist.string_info_t.ea",
"url":43,
"doc":"ea"
},
{
"ref":"ida_strlist.string_info_t.length",
"url":43,
"doc":"length"
},
{
"ref":"ida_strlist.string_info_t.type",
"url":43,
"doc":"type"
},
{
"ref":"ida_strlist.get_strlist_options",
"url":43,
"doc":"get_strlist_options() -> strwinsetup_t Get the static string list options.",
"func":1
},
{
"ref":"ida_strlist.build_strlist",
"url":43,
"doc":"build_strlist() Rebuild the string list.",
"func":1
},
{
"ref":"ida_strlist.clear_strlist",
"url":43,
"doc":"clear_strlist() Clear the string list.",
"func":1
},
{
"ref":"ida_strlist.get_strlist_qty",
"url":43,
"doc":"get_strlist_qty() -> size_t Get number of elements in the string list. The list will be loaded from the database (if saved) or built from scratch.",
"func":1
},
{
"ref":"ida_strlist.get_strlist_item",
"url":43,
"doc":"get_strlist_item(si, n) -> bool Get nth element of the string list (n=0 get_strlist_qty()-1) @param si: (C : string_info_t  ) @param n: (C : size_t)",
"func":1
},
{
"ref":"ida_tryblks",
"url":44,
"doc":"Architecture independent exception handling info. Try blocks have the following general properties:  A try block specifies a possibly fragmented guarded code region.  Each try block has always at least one catch/except block description  Each catch block contains its boundaries and a filter.  Additionally a catch block can hold sp adjustment and the offset to the exception object offset (C ).  Try blocks can be nested. Nesting is automatically calculated at the retrieval time.  There may be (nested) multiple try blocks starting at the same address. See examples in tests/input/src/eh_tests."
},
{
"ref":"ida_tryblks.tryblks_t",
"url":44,
"doc":"Proxy of C qvector class. __init__(self) -> tryblks_t __init__(self, x) -> tryblks_t @param x: qvector const &"
},
{
"ref":"ida_tryblks.tryblks_t.thisown",
"url":44,
"doc":"The membership flag"
},
{
"ref":"ida_tryblks.tryblks_t.push_back",
"url":44,
"doc":"push_back(self, x) @param x: tryblk_t const & push_back(self) -> tryblk_t",
"func":1
},
{
"ref":"ida_tryblks.tryblks_t.pop_back",
"url":44,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_tryblks.tryblks_t.size",
"url":44,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_tryblks.tryblks_t.empty",
"url":44,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_tryblks.tryblks_t.at",
"url":44,
"doc":"at(self, _idx) -> tryblk_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_tryblks.tryblks_t.qclear",
"url":44,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_tryblks.tryblks_t.clear",
"url":44,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_tryblks.tryblks_t.resize",
"url":44,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: tryblk_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_tryblks.tryblks_t.grow",
"url":44,
"doc":"grow(self, x=tryblk_t( @param x: tryblk_t const &",
"func":1
},
{
"ref":"ida_tryblks.tryblks_t.capacity",
"url":44,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_tryblks.tryblks_t.reserve",
"url":44,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_tryblks.tryblks_t.truncate",
"url":44,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_tryblks.tryblks_t.swap",
"url":44,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_tryblks.tryblks_t.extract",
"url":44,
"doc":"extract(self) -> tryblk_t",
"func":1
},
{
"ref":"ida_tryblks.tryblks_t.inject",
"url":44,
"doc":"inject(self, s, len) @param s: tryblk_t  @param len: size_t",
"func":1
},
{
"ref":"ida_tryblks.tryblks_t.begin",
"url":44,
"doc":"begin(self) -> tryblk_t",
"func":1
},
{
"ref":"ida_tryblks.tryblks_t.end",
"url":44,
"doc":"end(self) -> tryblk_t",
"func":1
},
{
"ref":"ida_tryblks.tryblks_t.insert",
"url":44,
"doc":"insert(self, it, x) -> tryblk_t @param it: qvector  iterator @param x: tryblk_t const &",
"func":1
},
{
"ref":"ida_tryblks.tryblks_t.erase",
"url":44,
"doc":"erase(self, it) -> tryblk_t @param it: qvector  iterator erase(self, first, last) -> tryblk_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_tryblks.tryblks_t.find",
"url":44,
"doc":"find(self, x) -> tryblk_t @param x: tryblk_t const &",
"func":1
},
{
"ref":"ida_tryblks.tryblks_t.has",
"url":44,
"doc":"has(self, x) -> bool @param x: tryblk_t const &",
"func":1
},
{
"ref":"ida_tryblks.tryblks_t.add_unique",
"url":44,
"doc":"add_unique(self, x) -> bool @param x: tryblk_t const &",
"func":1
},
{
"ref":"ida_tryblks.tryblks_t.front",
"url":44,
"doc":"",
"func":1
},
{
"ref":"ida_tryblks.tryblks_t.back",
"url":44,
"doc":"",
"func":1
},
{
"ref":"ida_tryblks.catchvec_t",
"url":44,
"doc":"Proxy of C qvector class. __init__(self) -> catchvec_t __init__(self, x) -> catchvec_t @param x: qvector const &"
},
{
"ref":"ida_tryblks.catchvec_t.thisown",
"url":44,
"doc":"The membership flag"
},
{
"ref":"ida_tryblks.catchvec_t.push_back",
"url":44,
"doc":"push_back(self, x) @param x: catch_t const & push_back(self) -> catch_t",
"func":1
},
{
"ref":"ida_tryblks.catchvec_t.pop_back",
"url":44,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_tryblks.catchvec_t.size",
"url":44,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_tryblks.catchvec_t.empty",
"url":44,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_tryblks.catchvec_t.at",
"url":44,
"doc":"at(self, _idx) -> catch_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_tryblks.catchvec_t.qclear",
"url":44,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_tryblks.catchvec_t.clear",
"url":44,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_tryblks.catchvec_t.resize",
"url":44,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: catch_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_tryblks.catchvec_t.grow",
"url":44,
"doc":"grow(self, x=catch_t( @param x: catch_t const &",
"func":1
},
{
"ref":"ida_tryblks.catchvec_t.capacity",
"url":44,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_tryblks.catchvec_t.reserve",
"url":44,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_tryblks.catchvec_t.truncate",
"url":44,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_tryblks.catchvec_t.swap",
"url":44,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_tryblks.catchvec_t.extract",
"url":44,
"doc":"extract(self) -> catch_t",
"func":1
},
{
"ref":"ida_tryblks.catchvec_t.inject",
"url":44,
"doc":"inject(self, s, len) @param s: catch_t  @param len: size_t",
"func":1
},
{
"ref":"ida_tryblks.catchvec_t.begin",
"url":44,
"doc":"begin(self) -> catch_t",
"func":1
},
{
"ref":"ida_tryblks.catchvec_t.end",
"url":44,
"doc":"end(self) -> catch_t",
"func":1
},
{
"ref":"ida_tryblks.catchvec_t.insert",
"url":44,
"doc":"insert(self, it, x) -> catch_t @param it: qvector  iterator @param x: catch_t const &",
"func":1
},
{
"ref":"ida_tryblks.catchvec_t.erase",
"url":44,
"doc":"erase(self, it) -> catch_t @param it: qvector  iterator erase(self, first, last) -> catch_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_tryblks.catchvec_t.find",
"url":44,
"doc":"find(self, x) -> catch_t @param x: catch_t const &",
"func":1
},
{
"ref":"ida_tryblks.catchvec_t.has",
"url":44,
"doc":"has(self, x) -> bool @param x: catch_t const &",
"func":1
},
{
"ref":"ida_tryblks.catchvec_t.add_unique",
"url":44,
"doc":"add_unique(self, x) -> bool @param x: catch_t const &",
"func":1
},
{
"ref":"ida_tryblks.catchvec_t.front",
"url":44,
"doc":"",
"func":1
},
{
"ref":"ida_tryblks.catchvec_t.back",
"url":44,
"doc":"",
"func":1
},
{
"ref":"ida_tryblks.try_handler_t",
"url":44,
"doc":"Proxy of C try_handler_t class. __init__(self) -> try_handler_t"
},
{
"ref":"ida_tryblks.try_handler_t.thisown",
"url":44,
"doc":"The membership flag"
},
{
"ref":"ida_tryblks.try_handler_t.disp",
"url":44,
"doc":"disp"
},
{
"ref":"ida_tryblks.try_handler_t.fpreg",
"url":44,
"doc":"fpreg"
},
{
"ref":"ida_tryblks.try_handler_t.clear",
"url":44,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_tryblks.try_handler_t.push_back",
"url":5,
"doc":"push_back(self, x) @param x: range_t const & push_back(self) -> range_t",
"func":1
},
{
"ref":"ida_tryblks.try_handler_t.pop_back",
"url":5,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_tryblks.try_handler_t.size",
"url":5,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_tryblks.try_handler_t.empty",
"url":5,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_tryblks.try_handler_t.at",
"url":5,
"doc":"at(self, _idx) -> range_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_tryblks.try_handler_t.qclear",
"url":5,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_tryblks.try_handler_t.resize",
"url":5,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: range_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_tryblks.try_handler_t.grow",
"url":5,
"doc":"grow(self, x=range_t( @param x: range_t const &",
"func":1
},
{
"ref":"ida_tryblks.try_handler_t.capacity",
"url":5,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_tryblks.try_handler_t.reserve",
"url":5,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_tryblks.try_handler_t.truncate",
"url":5,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_tryblks.try_handler_t.swap",
"url":5,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_tryblks.try_handler_t.extract",
"url":5,
"doc":"extract(self) -> range_t",
"func":1
},
{
"ref":"ida_tryblks.try_handler_t.inject",
"url":5,
"doc":"inject(self, s, len) @param s: range_t  @param len: size_t",
"func":1
},
{
"ref":"ida_tryblks.try_handler_t.begin",
"url":5,
"doc":"begin(self) -> range_t",
"func":1
},
{
"ref":"ida_tryblks.try_handler_t.end",
"url":5,
"doc":"end(self) -> range_t",
"func":1
},
{
"ref":"ida_tryblks.try_handler_t.insert",
"url":5,
"doc":"insert(self, it, x) -> range_t @param it: qvector  iterator @param x: range_t const &",
"func":1
},
{
"ref":"ida_tryblks.try_handler_t.erase",
"url":5,
"doc":"erase(self, it) -> range_t @param it: qvector  iterator erase(self, first, last) -> range_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_tryblks.try_handler_t.find",
"url":5,
"doc":"find(self, x) -> range_t @param x: range_t const &",
"func":1
},
{
"ref":"ida_tryblks.try_handler_t.has",
"url":5,
"doc":"has(self, x) -> bool @param x: range_t const &",
"func":1
},
{
"ref":"ida_tryblks.try_handler_t.add_unique",
"url":5,
"doc":"add_unique(self, x) -> bool @param x: range_t const &",
"func":1
},
{
"ref":"ida_tryblks.seh_t",
"url":44,
"doc":"Proxy of C seh_t class. __init__(self) -> seh_t"
},
{
"ref":"ida_tryblks.seh_t.thisown",
"url":44,
"doc":"The membership flag"
},
{
"ref":"ida_tryblks.seh_t.filter",
"url":44,
"doc":"filter"
},
{
"ref":"ida_tryblks.seh_t.seh_code",
"url":44,
"doc":"seh_code"
},
{
"ref":"ida_tryblks.seh_t.clear",
"url":44,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_tryblks.seh_t.disp",
"url":44,
"doc":"disp"
},
{
"ref":"ida_tryblks.seh_t.fpreg",
"url":44,
"doc":"fpreg"
},
{
"ref":"ida_tryblks.seh_t.push_back",
"url":5,
"doc":"push_back(self, x) @param x: range_t const & push_back(self) -> range_t",
"func":1
},
{
"ref":"ida_tryblks.seh_t.pop_back",
"url":5,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_tryblks.seh_t.size",
"url":5,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_tryblks.seh_t.empty",
"url":5,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_tryblks.seh_t.at",
"url":5,
"doc":"at(self, _idx) -> range_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_tryblks.seh_t.qclear",
"url":5,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_tryblks.seh_t.resize",
"url":5,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: range_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_tryblks.seh_t.grow",
"url":5,
"doc":"grow(self, x=range_t( @param x: range_t const &",
"func":1
},
{
"ref":"ida_tryblks.seh_t.capacity",
"url":5,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_tryblks.seh_t.reserve",
"url":5,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_tryblks.seh_t.truncate",
"url":5,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_tryblks.seh_t.swap",
"url":5,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_tryblks.seh_t.extract",
"url":5,
"doc":"extract(self) -> range_t",
"func":1
},
{
"ref":"ida_tryblks.seh_t.inject",
"url":5,
"doc":"inject(self, s, len) @param s: range_t  @param len: size_t",
"func":1
},
{
"ref":"ida_tryblks.seh_t.begin",
"url":5,
"doc":"begin(self) -> range_t",
"func":1
},
{
"ref":"ida_tryblks.seh_t.end",
"url":5,
"doc":"end(self) -> range_t",
"func":1
},
{
"ref":"ida_tryblks.seh_t.insert",
"url":5,
"doc":"insert(self, it, x) -> range_t @param it: qvector  iterator @param x: range_t const &",
"func":1
},
{
"ref":"ida_tryblks.seh_t.erase",
"url":5,
"doc":"erase(self, it) -> range_t @param it: qvector  iterator erase(self, first, last) -> range_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_tryblks.seh_t.find",
"url":5,
"doc":"find(self, x) -> range_t @param x: range_t const &",
"func":1
},
{
"ref":"ida_tryblks.seh_t.has",
"url":5,
"doc":"has(self, x) -> bool @param x: range_t const &",
"func":1
},
{
"ref":"ida_tryblks.seh_t.add_unique",
"url":5,
"doc":"add_unique(self, x) -> bool @param x: range_t const &",
"func":1
},
{
"ref":"ida_tryblks.catch_t",
"url":44,
"doc":"Proxy of C catch_t class. __init__(self) -> catch_t"
},
{
"ref":"ida_tryblks.catch_t.thisown",
"url":44,
"doc":"The membership flag"
},
{
"ref":"ida_tryblks.catch_t.obj",
"url":44,
"doc":"obj"
},
{
"ref":"ida_tryblks.catch_t.type_id",
"url":44,
"doc":"type_id"
},
{
"ref":"ida_tryblks.catch_t.disp",
"url":44,
"doc":"disp"
},
{
"ref":"ida_tryblks.catch_t.fpreg",
"url":44,
"doc":"fpreg"
},
{
"ref":"ida_tryblks.catch_t.clear",
"url":44,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_tryblks.catch_t.push_back",
"url":5,
"doc":"push_back(self, x) @param x: range_t const & push_back(self) -> range_t",
"func":1
},
{
"ref":"ida_tryblks.catch_t.pop_back",
"url":5,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_tryblks.catch_t.size",
"url":5,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_tryblks.catch_t.empty",
"url":5,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_tryblks.catch_t.at",
"url":5,
"doc":"at(self, _idx) -> range_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_tryblks.catch_t.qclear",
"url":5,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_tryblks.catch_t.resize",
"url":5,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: range_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_tryblks.catch_t.grow",
"url":5,
"doc":"grow(self, x=range_t( @param x: range_t const &",
"func":1
},
{
"ref":"ida_tryblks.catch_t.capacity",
"url":5,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_tryblks.catch_t.reserve",
"url":5,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_tryblks.catch_t.truncate",
"url":5,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_tryblks.catch_t.swap",
"url":5,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_tryblks.catch_t.extract",
"url":5,
"doc":"extract(self) -> range_t",
"func":1
},
{
"ref":"ida_tryblks.catch_t.inject",
"url":5,
"doc":"inject(self, s, len) @param s: range_t  @param len: size_t",
"func":1
},
{
"ref":"ida_tryblks.catch_t.begin",
"url":5,
"doc":"begin(self) -> range_t",
"func":1
},
{
"ref":"ida_tryblks.catch_t.end",
"url":5,
"doc":"end(self) -> range_t",
"func":1
},
{
"ref":"ida_tryblks.catch_t.insert",
"url":5,
"doc":"insert(self, it, x) -> range_t @param it: qvector  iterator @param x: range_t const &",
"func":1
},
{
"ref":"ida_tryblks.catch_t.erase",
"url":5,
"doc":"erase(self, it) -> range_t @param it: qvector  iterator erase(self, first, last) -> range_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_tryblks.catch_t.find",
"url":5,
"doc":"find(self, x) -> range_t @param x: range_t const &",
"func":1
},
{
"ref":"ida_tryblks.catch_t.has",
"url":5,
"doc":"has(self, x) -> bool @param x: range_t const &",
"func":1
},
{
"ref":"ida_tryblks.catch_t.add_unique",
"url":5,
"doc":"add_unique(self, x) -> bool @param x: range_t const &",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t",
"url":44,
"doc":"Proxy of C tryblk_t class. __init__(self) -> tryblk_t __init__(self, r) -> tryblk_t @param r: tryblk_t const &"
},
{
"ref":"ida_tryblks.tryblk_t.thisown",
"url":44,
"doc":"The membership flag"
},
{
"ref":"ida_tryblks.tryblk_t.level",
"url":44,
"doc":"level"
},
{
"ref":"ida_tryblks.tryblk_t.cpp",
"url":44,
"doc":"cpp(self) -> catchvec_t",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.seh",
"url":44,
"doc":"seh(self) -> seh_t",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.get_kind",
"url":44,
"doc":"get_kind(self) -> uchar",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.empty",
"url":44,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.is_seh",
"url":44,
"doc":"is_seh(self) -> bool",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.is_cpp",
"url":44,
"doc":"is_cpp(self) -> bool",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.clear",
"url":44,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.set_seh",
"url":44,
"doc":"set_seh(self) -> seh_t",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.set_cpp",
"url":44,
"doc":"set_cpp(self) -> catchvec_t",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.push_back",
"url":5,
"doc":"push_back(self, x) @param x: range_t const & push_back(self) -> range_t",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.pop_back",
"url":5,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.size",
"url":5,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.at",
"url":5,
"doc":"at(self, _idx) -> range_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.qclear",
"url":5,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.resize",
"url":5,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: range_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.grow",
"url":5,
"doc":"grow(self, x=range_t( @param x: range_t const &",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.capacity",
"url":5,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.reserve",
"url":5,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.truncate",
"url":5,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.swap",
"url":5,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.extract",
"url":5,
"doc":"extract(self) -> range_t",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.inject",
"url":5,
"doc":"inject(self, s, len) @param s: range_t  @param len: size_t",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.begin",
"url":5,
"doc":"begin(self) -> range_t",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.end",
"url":5,
"doc":"end(self) -> range_t",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.insert",
"url":5,
"doc":"insert(self, it, x) -> range_t @param it: qvector  iterator @param x: range_t const &",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.erase",
"url":5,
"doc":"erase(self, it) -> range_t @param it: qvector  iterator erase(self, first, last) -> range_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.find",
"url":5,
"doc":"find(self, x) -> range_t @param x: range_t const &",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.has",
"url":5,
"doc":"has(self, x) -> bool @param x: range_t const &",
"func":1
},
{
"ref":"ida_tryblks.tryblk_t.add_unique",
"url":5,
"doc":"add_unique(self, x) -> bool @param x: range_t const &",
"func":1
},
{
"ref":"ida_tryblks.get_tryblks",
"url":44,
"doc":"get_tryblks(tbv, range) -> size_t Retrieve try block information from the specified address range. Try blocks are sorted by starting address and their nest levels calculated. @param tbv: (C : tryblks_t  ) output buffer; may be nullptr @param range: (C : const range_t &) address range to change @return: number of found try blocks",
"func":1
},
{
"ref":"ida_tryblks.del_tryblks",
"url":44,
"doc":"del_tryblks(range) Delete try block information in the specified range. @param range: (C : const range_t &) the range to be cleared",
"func":1
},
{
"ref":"ida_tryblks.add_tryblk",
"url":44,
"doc":"add_tryblk(tb) -> int Add one try block information. @param tb: (C : const tryblk_t &) try block to add. @return: error code; 0 means good",
"func":1
},
{
"ref":"ida_tryblks.TBERR_OK",
"url":44,
"doc":"ok"
},
{
"ref":"ida_tryblks.TBERR_START",
"url":44,
"doc":"bad start address"
},
{
"ref":"ida_tryblks.TBERR_END",
"url":44,
"doc":"bad end address"
},
{
"ref":"ida_tryblks.TBERR_ORDER",
"url":44,
"doc":"bad address order"
},
{
"ref":"ida_tryblks.TBERR_EMPTY",
"url":44,
"doc":"empty try block"
},
{
"ref":"ida_tryblks.TBERR_KIND",
"url":44,
"doc":"illegal try block kind"
},
{
"ref":"ida_tryblks.TBERR_NO_CATCHES",
"url":44,
"doc":"no catch blocks at all"
},
{
"ref":"ida_tryblks.TBERR_INTERSECT",
"url":44,
"doc":"range would intersect inner tryblk"
},
{
"ref":"ida_tryblks.find_syseh",
"url":44,
"doc":"find_syseh(ea) -> ea_t Find the start address of the system eh region including the argument. @param ea: (C : ea_t) search address @return: start address of surrounding tryblk, otherwise BADADDR",
"func":1
},
{
"ref":"ida_tryblks.TBEA_TRY",
"url":44,
"doc":"is EA within a c try block?"
},
{
"ref":"ida_tryblks.TBEA_CATCH",
"url":44,
"doc":"is EA the start of a c catch/cleanup block?"
},
{
"ref":"ida_tryblks.TBEA_SEHTRY",
"url":44,
"doc":"is EA within a seh try block"
},
{
"ref":"ida_tryblks.TBEA_SEHLPAD",
"url":44,
"doc":"is EA the start of a seh finally/except block?"
},
{
"ref":"ida_tryblks.TBEA_SEHFILT",
"url":44,
"doc":"is EA the start of a seh filter?"
},
{
"ref":"ida_tryblks.TBEA_FALLTHRU",
"url":44,
"doc":"is there a fall through into provided ea from an unwind region"
},
{
"ref":"ida_tryblks.is_ea_tryblks",
"url":44,
"doc":"is_ea_tryblks(ea, flags) -> bool Check if the given address ea is part of tryblks description. @param ea: (C : ea_t) address to check @param flags: (C : uint32) combination of flags for is_ea_tryblks()",
"func":1
},
{
"ref":"ida_typeinf",
"url":20,
"doc":"Describes the type information records in IDA. The recommended way of using type info is to use the tinfo_t class. The type information is internally kept as an array of bytes terminated by 0. Items in brackets [] are optional and sometimes are omitted. type_t . means a sequence of type_t bytes which defines a type. @note: to work with the types of instructions or data in the database, use get_tinfo()/set_tinfo() and similar functions."
},
{
"ref":"ida_typeinf.DEFMASK64",
"url":20,
"doc":"default bitmask 64bits"
},
{
"ref":"ida_typeinf.deserialize_tinfo",
"url":20,
"doc":"deserialize_tinfo(tif, til, ptype, pfields, pfldcmts, cmt=None) -> bool @param tif: tinfo_t  @param til: til_t const  @param ptype: type_t const  @param pfields: p_list const  @param pfldcmts: p_list const  @param cmt: char const  ",
"func":1
},
{
"ref":"ida_typeinf.funcargvec_t",
"url":20,
"doc":"Proxy of C qvector class. __init__(self) -> funcargvec_t __init__(self, x) -> funcargvec_t @param x: qvector const &"
},
{
"ref":"ida_typeinf.funcargvec_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.funcargvec_t.push_back",
"url":20,
"doc":"push_back(self, x) @param x: funcarg_t const & push_back(self) -> funcarg_t",
"func":1
},
{
"ref":"ida_typeinf.funcargvec_t.pop_back",
"url":20,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_typeinf.funcargvec_t.size",
"url":20,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.funcargvec_t.empty",
"url":20,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.funcargvec_t.at",
"url":20,
"doc":"at(self, _idx) -> funcarg_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_typeinf.funcargvec_t.qclear",
"url":20,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_typeinf.funcargvec_t.clear",
"url":20,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_typeinf.funcargvec_t.resize",
"url":20,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: funcarg_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_typeinf.funcargvec_t.grow",
"url":20,
"doc":"grow(self, x=funcarg_t( @param x: funcarg_t const &",
"func":1
},
{
"ref":"ida_typeinf.funcargvec_t.capacity",
"url":20,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.funcargvec_t.reserve",
"url":20,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_typeinf.funcargvec_t.truncate",
"url":20,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_typeinf.funcargvec_t.swap",
"url":20,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_typeinf.funcargvec_t.extract",
"url":20,
"doc":"extract(self) -> funcarg_t",
"func":1
},
{
"ref":"ida_typeinf.funcargvec_t.inject",
"url":20,
"doc":"inject(self, s, len) @param s: funcarg_t  @param len: size_t",
"func":1
},
{
"ref":"ida_typeinf.funcargvec_t.begin",
"url":20,
"doc":"begin(self) -> funcarg_t",
"func":1
},
{
"ref":"ida_typeinf.funcargvec_t.end",
"url":20,
"doc":"end(self) -> funcarg_t",
"func":1
},
{
"ref":"ida_typeinf.funcargvec_t.insert",
"url":20,
"doc":"insert(self, it, x) -> funcarg_t @param it: qvector  iterator @param x: funcarg_t const &",
"func":1
},
{
"ref":"ida_typeinf.funcargvec_t.erase",
"url":20,
"doc":"erase(self, it) -> funcarg_t @param it: qvector  iterator erase(self, first, last) -> funcarg_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_typeinf.funcargvec_t.find",
"url":20,
"doc":"find(self, x) -> funcarg_t @param x: funcarg_t const &",
"func":1
},
{
"ref":"ida_typeinf.funcargvec_t.has",
"url":20,
"doc":"has(self, x) -> bool @param x: funcarg_t const &",
"func":1
},
{
"ref":"ida_typeinf.funcargvec_t.add_unique",
"url":20,
"doc":"add_unique(self, x) -> bool @param x: funcarg_t const &",
"func":1
},
{
"ref":"ida_typeinf.funcargvec_t.front",
"url":20,
"doc":"",
"func":1
},
{
"ref":"ida_typeinf.funcargvec_t.back",
"url":20,
"doc":"",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t",
"url":20,
"doc":"Proxy of C qvector class. __init__(self) -> reginfovec_t __init__(self, x) -> reginfovec_t @param x: qvector const &"
},
{
"ref":"ida_typeinf.reginfovec_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.reginfovec_t.push_back",
"url":20,
"doc":"push_back(self, x) @param x: reg_info_t const & push_back(self) -> reg_info_t",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t.pop_back",
"url":20,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t.size",
"url":20,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t.empty",
"url":20,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t.at",
"url":20,
"doc":"__getitem__(self, i) -> reg_info_t @param i: size_t",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t.qclear",
"url":20,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t.clear",
"url":20,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t.resize",
"url":20,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: reg_info_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t.grow",
"url":20,
"doc":"grow(self, x=reg_info_t( @param x: reg_info_t const &",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t.capacity",
"url":20,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t.reserve",
"url":20,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t.truncate",
"url":20,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t.swap",
"url":20,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t.extract",
"url":20,
"doc":"extract(self) -> reg_info_t",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t.inject",
"url":20,
"doc":"inject(self, s, len) @param s: reg_info_t  @param len: size_t",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t.begin",
"url":20,
"doc":"begin(self) -> reg_info_t",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t.end",
"url":20,
"doc":"end(self) -> reg_info_t",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t.insert",
"url":20,
"doc":"insert(self, it, x) -> reg_info_t @param it: qvector  iterator @param x: reg_info_t const &",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t.erase",
"url":20,
"doc":"erase(self, it) -> reg_info_t @param it: qvector  iterator erase(self, first, last) -> reg_info_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t.find",
"url":20,
"doc":"find(self, x) -> reg_info_t @param x: reg_info_t const &",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t.has",
"url":20,
"doc":"has(self, x) -> bool @param x: reg_info_t const &",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t.add_unique",
"url":20,
"doc":"add_unique(self, x) -> bool @param x: reg_info_t const &",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t.front",
"url":20,
"doc":"",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t.back",
"url":20,
"doc":"",
"func":1
},
{
"ref":"ida_typeinf.reginfovec_t.append",
"url":20,
"doc":"push_back(self, x) @param x: reg_info_t const & push_back(self) -> reg_info_t",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t",
"url":20,
"doc":"Proxy of C qvector class. __init__(self) -> edmvec_t __init__(self, x) -> edmvec_t @param x: qvector const &"
},
{
"ref":"ida_typeinf.edmvec_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.edmvec_t.push_back",
"url":20,
"doc":"push_back(self, x) @param x: edm_t const & push_back(self) -> edm_t",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.pop_back",
"url":20,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.size",
"url":20,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.empty",
"url":20,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.at",
"url":20,
"doc":"at(self, _idx) -> edm_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.qclear",
"url":20,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.clear",
"url":20,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.resize",
"url":20,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: edm_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.grow",
"url":20,
"doc":"grow(self, x=edm_t( @param x: edm_t const &",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.capacity",
"url":20,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.reserve",
"url":20,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.truncate",
"url":20,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.swap",
"url":20,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.extract",
"url":20,
"doc":"extract(self) -> edm_t",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.inject",
"url":20,
"doc":"inject(self, s, len) @param s: edm_t  @param len: size_t",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.begin",
"url":20,
"doc":"begin(self) -> edm_t",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.end",
"url":20,
"doc":"end(self) -> edm_t",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.insert",
"url":20,
"doc":"insert(self, it, x) -> edm_t @param it: qvector  iterator @param x: edm_t const &",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.erase",
"url":20,
"doc":"erase(self, it) -> edm_t @param it: qvector  iterator erase(self, first, last) -> edm_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.find",
"url":20,
"doc":"find(self, x) -> edm_t @param x: edm_t const &",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.has",
"url":20,
"doc":"has(self, x) -> bool @param x: edm_t const &",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.add_unique",
"url":20,
"doc":"add_unique(self, x) -> bool @param x: edm_t const &",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.front",
"url":20,
"doc":"",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.back",
"url":20,
"doc":"",
"func":1
},
{
"ref":"ida_typeinf.argpartvec_t",
"url":20,
"doc":"Proxy of C qvector class. __init__(self) -> argpartvec_t __init__(self, x) -> argpartvec_t @param x: qvector const &"
},
{
"ref":"ida_typeinf.argpartvec_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.argpartvec_t.push_back",
"url":20,
"doc":"push_back(self, x) @param x: argpart_t const & push_back(self) -> argpart_t",
"func":1
},
{
"ref":"ida_typeinf.argpartvec_t.pop_back",
"url":20,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_typeinf.argpartvec_t.size",
"url":20,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.argpartvec_t.empty",
"url":20,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.argpartvec_t.at",
"url":20,
"doc":"at(self, _idx) -> argpart_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_typeinf.argpartvec_t.qclear",
"url":20,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_typeinf.argpartvec_t.clear",
"url":20,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_typeinf.argpartvec_t.resize",
"url":20,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: argpart_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_typeinf.argpartvec_t.grow",
"url":20,
"doc":"grow(self, x=argpart_t( @param x: argpart_t const &",
"func":1
},
{
"ref":"ida_typeinf.argpartvec_t.capacity",
"url":20,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.argpartvec_t.reserve",
"url":20,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_typeinf.argpartvec_t.truncate",
"url":20,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_typeinf.argpartvec_t.swap",
"url":20,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_typeinf.argpartvec_t.extract",
"url":20,
"doc":"extract(self) -> argpart_t",
"func":1
},
{
"ref":"ida_typeinf.argpartvec_t.inject",
"url":20,
"doc":"inject(self, s, len) @param s: argpart_t  @param len: size_t",
"func":1
},
{
"ref":"ida_typeinf.argpartvec_t.begin",
"url":20,
"doc":"begin(self) -> argpart_t",
"func":1
},
{
"ref":"ida_typeinf.argpartvec_t.end",
"url":20,
"doc":"end(self) -> argpart_t",
"func":1
},
{
"ref":"ida_typeinf.argpartvec_t.insert",
"url":20,
"doc":"insert(self, it, x) -> argpart_t @param it: qvector  iterator @param x: argpart_t const &",
"func":1
},
{
"ref":"ida_typeinf.argpartvec_t.erase",
"url":20,
"doc":"erase(self, it) -> argpart_t @param it: qvector  iterator erase(self, first, last) -> argpart_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_typeinf.argpartvec_t.find",
"url":20,
"doc":"find(self, x) -> argpart_t @param x: argpart_t const &",
"func":1
},
{
"ref":"ida_typeinf.argpartvec_t.has",
"url":20,
"doc":"has(self, x) -> bool @param x: argpart_t const &",
"func":1
},
{
"ref":"ida_typeinf.argpartvec_t.add_unique",
"url":20,
"doc":"add_unique(self, x) -> bool @param x: argpart_t const &",
"func":1
},
{
"ref":"ida_typeinf.argpartvec_t.front",
"url":20,
"doc":"",
"func":1
},
{
"ref":"ida_typeinf.argpartvec_t.back",
"url":20,
"doc":"",
"func":1
},
{
"ref":"ida_typeinf.valstrvec_t",
"url":20,
"doc":"Proxy of C qvector class. __init__(self) -> valstrvec_t __init__(self, x) -> valstrvec_t @param x: qvector const &"
},
{
"ref":"ida_typeinf.valstrvec_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.valstrvec_t.push_back",
"url":20,
"doc":"push_back(self, x) @param x: valstr_t const & push_back(self) -> valstr_t",
"func":1
},
{
"ref":"ida_typeinf.valstrvec_t.pop_back",
"url":20,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_typeinf.valstrvec_t.size",
"url":20,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.valstrvec_t.empty",
"url":20,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.valstrvec_t.at",
"url":20,
"doc":"at(self, _idx) -> valstr_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_typeinf.valstrvec_t.qclear",
"url":20,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_typeinf.valstrvec_t.clear",
"url":20,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_typeinf.valstrvec_t.resize",
"url":20,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: valstr_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_typeinf.valstrvec_t.grow",
"url":20,
"doc":"grow(self, x=valstr_t( @param x: valstr_t const &",
"func":1
},
{
"ref":"ida_typeinf.valstrvec_t.capacity",
"url":20,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.valstrvec_t.reserve",
"url":20,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_typeinf.valstrvec_t.truncate",
"url":20,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_typeinf.valstrvec_t.swap",
"url":20,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_typeinf.valstrvec_t.extract",
"url":20,
"doc":"extract(self) -> valstr_t",
"func":1
},
{
"ref":"ida_typeinf.valstrvec_t.inject",
"url":20,
"doc":"inject(self, s, len) @param s: valstr_t  @param len: size_t",
"func":1
},
{
"ref":"ida_typeinf.valstrvec_t.begin",
"url":20,
"doc":"begin(self) -> valstr_t",
"func":1
},
{
"ref":"ida_typeinf.valstrvec_t.end",
"url":20,
"doc":"end(self) -> valstr_t",
"func":1
},
{
"ref":"ida_typeinf.valstrvec_t.insert",
"url":20,
"doc":"insert(self, it, x) -> valstr_t @param it: qvector  iterator @param x: valstr_t const &",
"func":1
},
{
"ref":"ida_typeinf.valstrvec_t.erase",
"url":20,
"doc":"erase(self, it) -> valstr_t @param it: qvector  iterator erase(self, first, last) -> valstr_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_typeinf.valstrvec_t.front",
"url":20,
"doc":"",
"func":1
},
{
"ref":"ida_typeinf.valstrvec_t.back",
"url":20,
"doc":"",
"func":1
},
{
"ref":"ida_typeinf.regobjvec_t",
"url":20,
"doc":"Proxy of C qvector class. __init__(self) -> regobjvec_t __init__(self, x) -> regobjvec_t @param x: qvector const &"
},
{
"ref":"ida_typeinf.regobjvec_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.regobjvec_t.push_back",
"url":20,
"doc":"push_back(self, x) @param x: regobj_t const & push_back(self) -> regobj_t",
"func":1
},
{
"ref":"ida_typeinf.regobjvec_t.pop_back",
"url":20,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_typeinf.regobjvec_t.size",
"url":20,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.regobjvec_t.empty",
"url":20,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.regobjvec_t.at",
"url":20,
"doc":"at(self, _idx) -> regobj_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_typeinf.regobjvec_t.qclear",
"url":20,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_typeinf.regobjvec_t.clear",
"url":20,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_typeinf.regobjvec_t.resize",
"url":20,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: regobj_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_typeinf.regobjvec_t.grow",
"url":20,
"doc":"grow(self, x=regobj_t( @param x: regobj_t const &",
"func":1
},
{
"ref":"ida_typeinf.regobjvec_t.capacity",
"url":20,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.regobjvec_t.reserve",
"url":20,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_typeinf.regobjvec_t.truncate",
"url":20,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_typeinf.regobjvec_t.swap",
"url":20,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_typeinf.regobjvec_t.extract",
"url":20,
"doc":"extract(self) -> regobj_t",
"func":1
},
{
"ref":"ida_typeinf.regobjvec_t.inject",
"url":20,
"doc":"inject(self, s, len) @param s: regobj_t  @param len: size_t",
"func":1
},
{
"ref":"ida_typeinf.regobjvec_t.begin",
"url":20,
"doc":"begin(self) -> regobj_t",
"func":1
},
{
"ref":"ida_typeinf.regobjvec_t.end",
"url":20,
"doc":"end(self) -> regobj_t",
"func":1
},
{
"ref":"ida_typeinf.regobjvec_t.insert",
"url":20,
"doc":"insert(self, it, x) -> regobj_t @param it: qvector  iterator @param x: regobj_t const &",
"func":1
},
{
"ref":"ida_typeinf.regobjvec_t.erase",
"url":20,
"doc":"erase(self, it) -> regobj_t @param it: qvector  iterator erase(self, first, last) -> regobj_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_typeinf.regobjvec_t.front",
"url":20,
"doc":"",
"func":1
},
{
"ref":"ida_typeinf.regobjvec_t.back",
"url":20,
"doc":"",
"func":1
},
{
"ref":"ida_typeinf.type_attrs_t",
"url":20,
"doc":"Proxy of C qvector class. __init__(self) -> type_attrs_t __init__(self, x) -> type_attrs_t @param x: qvector const &"
},
{
"ref":"ida_typeinf.type_attrs_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.type_attrs_t.push_back",
"url":20,
"doc":"push_back(self, x) @param x: type_attr_t const & push_back(self) -> type_attr_t",
"func":1
},
{
"ref":"ida_typeinf.type_attrs_t.pop_back",
"url":20,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_typeinf.type_attrs_t.size",
"url":20,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.type_attrs_t.empty",
"url":20,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.type_attrs_t.at",
"url":20,
"doc":"at(self, _idx) -> type_attr_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_typeinf.type_attrs_t.qclear",
"url":20,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_typeinf.type_attrs_t.clear",
"url":20,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_typeinf.type_attrs_t.resize",
"url":20,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: type_attr_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_typeinf.type_attrs_t.grow",
"url":20,
"doc":"grow(self, x=type_attr_t( @param x: type_attr_t const &",
"func":1
},
{
"ref":"ida_typeinf.type_attrs_t.capacity",
"url":20,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.type_attrs_t.reserve",
"url":20,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_typeinf.type_attrs_t.truncate",
"url":20,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_typeinf.type_attrs_t.swap",
"url":20,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_typeinf.type_attrs_t.extract",
"url":20,
"doc":"extract(self) -> type_attr_t",
"func":1
},
{
"ref":"ida_typeinf.type_attrs_t.inject",
"url":20,
"doc":"inject(self, s, len) @param s: type_attr_t  @param len: size_t",
"func":1
},
{
"ref":"ida_typeinf.type_attrs_t.begin",
"url":20,
"doc":"begin(self) -> type_attr_t",
"func":1
},
{
"ref":"ida_typeinf.type_attrs_t.end",
"url":20,
"doc":"end(self) -> type_attr_t",
"func":1
},
{
"ref":"ida_typeinf.type_attrs_t.insert",
"url":20,
"doc":"insert(self, it, x) -> type_attr_t @param it: qvector  iterator @param x: type_attr_t const &",
"func":1
},
{
"ref":"ida_typeinf.type_attrs_t.erase",
"url":20,
"doc":"erase(self, it) -> type_attr_t @param it: qvector  iterator erase(self, first, last) -> type_attr_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_typeinf.type_attrs_t.front",
"url":20,
"doc":"",
"func":1
},
{
"ref":"ida_typeinf.type_attrs_t.back",
"url":20,
"doc":"",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_template_t",
"url":20,
"doc":"Proxy of C qvector class. __init__(self) -> udtmembervec_template_t __init__(self, x) -> udtmembervec_template_t @param x: qvector const &"
},
{
"ref":"ida_typeinf.udtmembervec_template_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.udtmembervec_template_t.push_back",
"url":20,
"doc":"push_back(self, x) @param x: udm_t const & push_back(self) -> udm_t",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_template_t.pop_back",
"url":20,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_template_t.size",
"url":20,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_template_t.empty",
"url":20,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_template_t.at",
"url":20,
"doc":"at(self, _idx) -> udm_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_template_t.qclear",
"url":20,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_template_t.clear",
"url":20,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_template_t.resize",
"url":20,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: udm_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_template_t.grow",
"url":20,
"doc":"grow(self, x=udm_t( @param x: udm_t const &",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_template_t.capacity",
"url":20,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_template_t.reserve",
"url":20,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_template_t.truncate",
"url":20,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_template_t.swap",
"url":20,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_template_t.extract",
"url":20,
"doc":"extract(self) -> udm_t",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_template_t.inject",
"url":20,
"doc":"inject(self, s, len) @param s: udm_t  @param len: size_t",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_template_t.begin",
"url":20,
"doc":"begin(self) -> udm_t",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_template_t.end",
"url":20,
"doc":"end(self) -> udm_t",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_template_t.insert",
"url":20,
"doc":"insert(self, it, x) -> udm_t @param it: qvector  iterator @param x: udm_t const &",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_template_t.erase",
"url":20,
"doc":"erase(self, it) -> udm_t @param it: qvector  iterator erase(self, first, last) -> udm_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_template_t.find",
"url":20,
"doc":"find(self, x) -> udm_t @param x: udm_t const &",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_template_t.has",
"url":20,
"doc":"has(self, x) -> bool @param x: udm_t const &",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_template_t.add_unique",
"url":20,
"doc":"add_unique(self, x) -> bool @param x: udm_t const &",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_template_t.front",
"url":20,
"doc":"",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_template_t.back",
"url":20,
"doc":"",
"func":1
},
{
"ref":"ida_typeinf.RESERVED_BYTE",
"url":20,
"doc":"multifunctional purpose"
},
{
"ref":"ida_typeinf.is_type_const",
"url":20,
"doc":"is_type_const(t) -> bool See BTM_CONST. @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_volatile",
"url":20,
"doc":"is_type_volatile(t) -> bool See BTM_VOLATILE. @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.get_base_type",
"url":20,
"doc":"get_base_type(t) -> type_t Get get basic type bits (TYPE_BASE_MASK) @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.get_type_flags",
"url":20,
"doc":"get_type_flags(t) -> type_t Get type flags (TYPE_FLAGS_MASK) @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.get_full_type",
"url":20,
"doc":"get_full_type(t) -> type_t Get basic type bits + type flags (TYPE_FULL_MASK) @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_typeid_last",
"url":20,
"doc":"is_typeid_last(t) -> bool Is the type_t the last byte of type declaration? (there are no additional bytes after a basic type, see _BT_LAST_BASIC) @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_partial",
"url":20,
"doc":"is_type_partial(t) -> bool Identifies an unknown or void type with a known size (see Basic type: unknown & void) @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_void",
"url":20,
"doc":"is_type_void(t) -> bool See BTF_VOID. @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_unknown",
"url":20,
"doc":"is_type_unknown(t) -> bool See BT_UNKNOWN. @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_ptr",
"url":20,
"doc":"is_type_ptr(t) -> bool See BT_PTR. @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_complex",
"url":20,
"doc":"is_type_complex(t) -> bool See BT_COMPLEX. @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_func",
"url":20,
"doc":"is_type_func(t) -> bool See BT_FUNC. @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_array",
"url":20,
"doc":"is_type_array(t) -> bool See BT_ARRAY. @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_typedef",
"url":20,
"doc":"is_type_typedef(t) -> bool See BTF_TYPEDEF. @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_sue",
"url":20,
"doc":"is_type_sue(t) -> bool Is the type a struct/union/enum? @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_struct",
"url":20,
"doc":"is_type_struct(t) -> bool See BTF_STRUCT. @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_union",
"url":20,
"doc":"is_type_union(t) -> bool See BTF_UNION. @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_struni",
"url":20,
"doc":"is_type_struni(t) -> bool Is the type a struct or union? @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_enum",
"url":20,
"doc":"is_type_enum(t) -> bool See BTF_ENUM. @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_bitfld",
"url":20,
"doc":"is_type_bitfld(t) -> bool See BT_BITFIELD. @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_int",
"url":20,
"doc":"is_type_int(bt) -> bool Does the type_t specify one of the basic types in Basic type: integer? @param bt: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_int128",
"url":20,
"doc":"is_type_int128(t) -> bool Does the type specify a 128-bit value? (signed or unsigned, see Basic type: integer) @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_int64",
"url":20,
"doc":"is_type_int64(t) -> bool Does the type specify a 64-bit value? (signed or unsigned, see Basic type: integer) @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_int32",
"url":20,
"doc":"is_type_int32(t) -> bool Does the type specify a 32-bit value? (signed or unsigned, see Basic type: integer) @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_int16",
"url":20,
"doc":"is_type_int16(t) -> bool Does the type specify a 16-bit value? (signed or unsigned, see Basic type: integer) @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_char",
"url":20,
"doc":"is_type_char(t) -> bool Does the type specify a char value? (signed or unsigned, see Basic type: integer) @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_paf",
"url":20,
"doc":"is_type_paf(t) -> bool Is the type a pointer, array, or function type? @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_ptr_or_array",
"url":20,
"doc":"is_type_ptr_or_array(t) -> bool Is the type a pointer or array type? @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_floating",
"url":20,
"doc":"is_type_floating(t) -> bool Is the type a floating point type? @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_integral",
"url":20,
"doc":"is_type_integral(t) -> bool Is the type an integral type (char/short/int/long/bool)? @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_ext_integral",
"url":20,
"doc":"is_type_ext_integral(t) -> bool Is the type an extended integral type? (integral or enum) @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_arithmetic",
"url":20,
"doc":"is_type_arithmetic(t) -> bool Is the type an arithmetic type? (floating or integral) @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_ext_arithmetic",
"url":20,
"doc":"is_type_ext_arithmetic(t) -> bool Is the type an extended arithmetic type? (arithmetic or enum) @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_uint",
"url":20,
"doc":"is_type_uint(t) -> bool See BTF_UINT. @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_uchar",
"url":20,
"doc":"is_type_uchar(t) -> bool See BTF_UCHAR. @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_uint16",
"url":20,
"doc":"is_type_uint16(t) -> bool See BTF_UINT16. @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_uint32",
"url":20,
"doc":"is_type_uint32(t) -> bool See BTF_UINT32. @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_uint64",
"url":20,
"doc":"is_type_uint64(t) -> bool See BTF_UINT64. @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_uint128",
"url":20,
"doc":"is_type_uint128(t) -> bool See BTF_UINT128. @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_ldouble",
"url":20,
"doc":"is_type_ldouble(t) -> bool See BTF_LDOUBLE. @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_double",
"url":20,
"doc":"is_type_double(t) -> bool See BTF_DOUBLE. @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_float",
"url":20,
"doc":"is_type_float(t) -> bool See BTF_FLOAT. @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_tbyte",
"url":20,
"doc":"is_type_tbyte(t) -> bool See BTF_FLOAT. @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_type_bool",
"url":20,
"doc":"is_type_bool(t) -> bool See BTF_BOOL. @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.TAH_BYTE",
"url":20,
"doc":"type attribute header byte"
},
{
"ref":"ida_typeinf.FAH_BYTE",
"url":20,
"doc":"function argument attribute header byte"
},
{
"ref":"ida_typeinf.TAH_HASATTRS",
"url":20,
"doc":"has extended attributes"
},
{
"ref":"ida_typeinf.TAUDT_UNALIGNED",
"url":20,
"doc":"struct: unaligned struct"
},
{
"ref":"ida_typeinf.TAUDT_MSSTRUCT",
"url":20,
"doc":"struct: gcc msstruct attribute"
},
{
"ref":"ida_typeinf.TAUDT_CPPOBJ",
"url":20,
"doc":"struct: a c object, not simple pod type"
},
{
"ref":"ida_typeinf.TAUDT_VFTABLE",
"url":20,
"doc":"struct: is virtual function table"
},
{
"ref":"ida_typeinf.TAUDT_FIXED",
"url":20,
"doc":"struct: fixed field offsets, stored in serialized form; cannot be set for unions"
},
{
"ref":"ida_typeinf.TAFLD_BASECLASS",
"url":20,
"doc":"field: do not include but inherit from the current field"
},
{
"ref":"ida_typeinf.TAFLD_UNALIGNED",
"url":20,
"doc":"field: unaligned field"
},
{
"ref":"ida_typeinf.TAFLD_VIRTBASE",
"url":20,
"doc":"field: virtual base (not supported yet)"
},
{
"ref":"ida_typeinf.TAFLD_VFTABLE",
"url":20,
"doc":"field: ptr to virtual function table"
},
{
"ref":"ida_typeinf.TAFLD_METHOD",
"url":20,
"doc":"denotes a udt member function"
},
{
"ref":"ida_typeinf.TAFLD_GAP",
"url":20,
"doc":"field: gap member (displayed as padding in type details)"
},
{
"ref":"ida_typeinf.TAFLD_REGCMT",
"url":20,
"doc":"field: the comment is regular (if not set, it is repeatable)"
},
{
"ref":"ida_typeinf.TAFLD_FRAME_R",
"url":20,
"doc":"frame: function return address frame slot"
},
{
"ref":"ida_typeinf.TAFLD_FRAME_S",
"url":20,
"doc":"frame: function saved registers frame slot"
},
{
"ref":"ida_typeinf.TAFLD_BYTIL",
"url":20,
"doc":"field: was the member created due to the type system"
},
{
"ref":"ida_typeinf.TAPTR_PTR32",
"url":20,
"doc":"ptr: __ptr32"
},
{
"ref":"ida_typeinf.TAPTR_PTR64",
"url":20,
"doc":"ptr: __ptr64"
},
{
"ref":"ida_typeinf.TAPTR_RESTRICT",
"url":20,
"doc":"ptr: __restrict"
},
{
"ref":"ida_typeinf.TAPTR_SHIFTED",
"url":20,
"doc":"ptr: __shifted(parent_struct, delta)"
},
{
"ref":"ida_typeinf.TAENUM_64BIT",
"url":20,
"doc":"enum: store 64-bit values"
},
{
"ref":"ida_typeinf.TAENUM_UNSIGNED",
"url":20,
"doc":"enum: unsigned"
},
{
"ref":"ida_typeinf.TAENUM_SIGNED",
"url":20,
"doc":"enum: signed"
},
{
"ref":"ida_typeinf.TAENUM_OCT",
"url":20,
"doc":"enum: octal representation, if BTE_HEX"
},
{
"ref":"ida_typeinf.TAENUM_BIN",
"url":20,
"doc":"enum: binary representation, if BTE_HEX only one of OCT/BIN bits can be set. they are meaningful only if BTE_HEX is used."
},
{
"ref":"ida_typeinf.TAENUM_NUMSIGN",
"url":20,
"doc":"enum: signed representation, if BTE_HEX"
},
{
"ref":"ida_typeinf.TAENUM_LZERO",
"url":20,
"doc":"enum: print numbers with leading zeroes (only for HEX/OCT/BIN)"
},
{
"ref":"ida_typeinf.TAH_ALL",
"url":20,
"doc":"all defined bits"
},
{
"ref":"ida_typeinf.is_tah_byte",
"url":20,
"doc":"is_tah_byte(t) -> bool The TAH byte (type attribute header byte) denotes the start of type attributes. (see \"tah-typeattrs\" in the type bit definitions) @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.is_sdacl_byte",
"url":20,
"doc":"is_sdacl_byte(t) -> bool Identify an sdacl byte. The first sdacl byte has the following format: 11xx000x. The sdacl bytes are appended to udt fields. They indicate the start of type attributes (as the tah-bytes do). The sdacl bytes are used in the udt headers instead of the tah-byte. This is done for compatibility with old databases, they were already using sdacl bytes in udt headers and as udt field postfixes. (see \"sdacl-typeattrs\" in the type bit definitions) @param t: (C : type_t)",
"func":1
},
{
"ref":"ida_typeinf.type_attr_t",
"url":20,
"doc":"Proxy of C type_attr_t class. __init__(self) -> type_attr_t"
},
{
"ref":"ida_typeinf.type_attr_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.type_attr_t.key",
"url":20,
"doc":"one symbol keys are reserved to be used by the kernel the ones starting with an underscore are reserved too"
},
{
"ref":"ida_typeinf.type_attr_t.value",
"url":20,
"doc":"attribute bytes"
},
{
"ref":"ida_typeinf.TYPE_BASE_MASK",
"url":20,
"doc":"the low 4 bits define the basic type"
},
{
"ref":"ida_typeinf.TYPE_FLAGS_MASK",
"url":20,
"doc":"type flags - they have different meaning depending on the basic type"
},
{
"ref":"ida_typeinf.TYPE_MODIF_MASK",
"url":20,
"doc":"modifiers.  for BT_ARRAY see Derived type: array  BT_VOID can have them ONLY in 'void  '"
},
{
"ref":"ida_typeinf.TYPE_FULL_MASK",
"url":20,
"doc":"basic type with type flags"
},
{
"ref":"ida_typeinf.BT_UNK",
"url":20,
"doc":"unknown"
},
{
"ref":"ida_typeinf.BT_VOID",
"url":20,
"doc":"void"
},
{
"ref":"ida_typeinf.BTMT_SIZE0",
"url":20,
"doc":"BT_VOID - normal void; BT_UNK - don't use"
},
{
"ref":"ida_typeinf.BTMT_SIZE12",
"url":20,
"doc":"size = 1 byte if BT_VOID; 2 if BT_UNK"
},
{
"ref":"ida_typeinf.BTMT_SIZE48",
"url":20,
"doc":"size = 4 bytes if BT_VOID; 8 if BT_UNK"
},
{
"ref":"ida_typeinf.BTMT_SIZE128",
"url":20,
"doc":"size = 16 bytes if BT_VOID; unknown if BT_UNK (IN struct alignment - see below)"
},
{
"ref":"ida_typeinf.BT_INT8",
"url":20,
"doc":"__int8"
},
{
"ref":"ida_typeinf.BT_INT16",
"url":20,
"doc":"__int16"
},
{
"ref":"ida_typeinf.BT_INT32",
"url":20,
"doc":"__int32"
},
{
"ref":"ida_typeinf.BT_INT64",
"url":20,
"doc":"__int64"
},
{
"ref":"ida_typeinf.BT_INT128",
"url":20,
"doc":"__int128 (for alpha & future use)"
},
{
"ref":"ida_typeinf.BT_INT",
"url":20,
"doc":"natural int. (size provided by idp module)"
},
{
"ref":"ida_typeinf.BTMT_UNKSIGN",
"url":20,
"doc":"unknown signedness"
},
{
"ref":"ida_typeinf.BTMT_SIGNED",
"url":20,
"doc":"signed"
},
{
"ref":"ida_typeinf.BTMT_USIGNED",
"url":20,
"doc":"unsigned"
},
{
"ref":"ida_typeinf.BTMT_CHAR",
"url":20,
"doc":"specify char or segment register  BT_INT8 - char  BT_INT - segment register  other BT_INT . - don't use"
},
{
"ref":"ida_typeinf.BT_BOOL",
"url":20,
"doc":"bool"
},
{
"ref":"ida_typeinf.BTMT_DEFBOOL",
"url":20,
"doc":"size is model specific or unknown(?)"
},
{
"ref":"ida_typeinf.BTMT_BOOL1",
"url":20,
"doc":"size 1byte"
},
{
"ref":"ida_typeinf.BTMT_BOOL2",
"url":20,
"doc":"size 2bytes - !inf_is_64bit()"
},
{
"ref":"ida_typeinf.BTMT_BOOL8",
"url":20,
"doc":"size 8bytes - inf_is_64bit()"
},
{
"ref":"ida_typeinf.BTMT_BOOL4",
"url":20,
"doc":"size 4bytes"
},
{
"ref":"ida_typeinf.BT_FLOAT",
"url":20,
"doc":"float"
},
{
"ref":"ida_typeinf.BTMT_FLOAT",
"url":20,
"doc":"float (4 bytes)"
},
{
"ref":"ida_typeinf.BTMT_DOUBLE",
"url":20,
"doc":"double (8 bytes)"
},
{
"ref":"ida_typeinf.BTMT_LNGDBL",
"url":20,
"doc":"long double (compiler specific)"
},
{
"ref":"ida_typeinf.BTMT_SPECFLT",
"url":20,
"doc":"float (variable size). if processor_t use_tbyte() then use processor_t tbyte_size, otherwise 2 bytes"
},
{
"ref":"ida_typeinf.BT_PTR",
"url":20,
"doc":"pointer. has the following format: [db sizeof(ptr)]; [tah-typeattrs]; type_t ."
},
{
"ref":"ida_typeinf.BTMT_DEFPTR",
"url":20,
"doc":"default for model"
},
{
"ref":"ida_typeinf.BTMT_NEAR",
"url":20,
"doc":"near"
},
{
"ref":"ida_typeinf.BTMT_FAR",
"url":20,
"doc":"far"
},
{
"ref":"ida_typeinf.BTMT_CLOSURE",
"url":20,
"doc":"closure.  if ptr to BT_FUNC - __closure. in this case next byte MUST be RESERVED_BYTE, and after it BT_FUNC  else the next byte contains sizeof(ptr) allowed values are 1 - ph.max_ptr_size  if value is bigger than ph.max_ptr_size, based_ptr_name_and_size() is called to find out the typeinfo"
},
{
"ref":"ida_typeinf.BT_ARRAY",
"url":20,
"doc":"array"
},
{
"ref":"ida_typeinf.BTMT_NONBASED",
"url":20,
"doc":"if set array base 0 format: dt num_elem; [tah-typeattrs]; type_t . if num_elem 0 then the array size is unknown else format: da num_elem, base; [tah-typeattrs]; type_t . used only for serialization"
},
{
"ref":"ida_typeinf.BTMT_ARRESERV",
"url":20,
"doc":"reserved bit"
},
{
"ref":"ida_typeinf.BT_FUNC",
"url":20,
"doc":"function. format: optional: CM_CC_SPOILED | num_of_spoiled_regs if num_of_spoiled_reg  BFA_FUNC_MARKER:  bfa_byte if (bfa_byte & BFA_FUNC_EXT_FORMAT) != 0  fti_bits (only low bits: FTI_SPOILED, .,FTI_VIRTUAL) num_of_spoiled_reg times: spoiled reg info (see extract_spoiledreg) else bfa_byte is function attribute byte (see Function attribute byte .) else: num_of_spoiled_reg times: spoiled reg info (see extract_spoiledreg) cm_t  . calling convention and memory model [tah-typeattrs]; type_t  . return type; [serialized argloc_t of returned value (if CM_CC_SPECIAL{PE}  !return void); if !CM_CC_VOIDARG: dt N (N=number of parameters) if ( N  0 ) if CM_CC_ELLIPSIS or CM_CC_SPECIALE func( .) else parameters are unknown else N records: type_t  . (i.e. type of each parameter) [serialized argloc_t (if CM_CC_SPECIAL{PE})] (i.e. place of each parameter) [FAH_BYTE + de( funcarg_t flags )]"
},
{
"ref":"ida_typeinf.BTMT_DEFCALL",
"url":20,
"doc":"call method - default for model or unknown"
},
{
"ref":"ida_typeinf.BTMT_NEARCALL",
"url":20,
"doc":"function returns by retn"
},
{
"ref":"ida_typeinf.BTMT_FARCALL",
"url":20,
"doc":"function returns by retf"
},
{
"ref":"ida_typeinf.BTMT_INTCALL",
"url":20,
"doc":"function returns by iret in this case cc MUST be 'unknown'"
},
{
"ref":"ida_typeinf.BT_COMPLEX",
"url":20,
"doc":"struct/union/enum/typedef. format: [dt N (N=field count) if !BTMT_TYPEDEF] if N  0: p_string name (unnamed types have names \"anon_ .\") [sdacl-typeattrs]; else, for struct & union: if N  0x7FFE  Support for high (i.e., > 4095) members count N = deserialize_de() ALPOW = N & 0x7 MCNT = N >> 3 if MCNT  0 empty struct if ALPOW  0 ALIGN = get_default_align() else ALIGN = (1  (ALPOW - 1 [sdacl-typeattrs]; else, for enums: if N  0x7FFE  Support for high enum entries count. N = deserialize_de() [tah-typeattrs];"
},
{
"ref":"ida_typeinf.BTMT_STRUCT",
"url":20,
"doc":"struct: MCNT records: type_t; [sdacl-typeattrs];"
},
{
"ref":"ida_typeinf.BTMT_UNION",
"url":20,
"doc":"union: MCNT records: type_t ."
},
{
"ref":"ida_typeinf.BTMT_ENUM",
"url":20,
"doc":"enum: next byte bte_t (see below) N records: de delta(s) OR blocks (see below)"
},
{
"ref":"ida_typeinf.BTMT_TYPEDEF",
"url":20,
"doc":"named reference always p_string name"
},
{
"ref":"ida_typeinf.BT_BITFIELD",
"url":20,
"doc":"bitfield (only in struct) ['bitmasked' enum see below] next byte is dt  size in bits  1) | (unsigned ? 1 : 0 "
},
{
"ref":"ida_typeinf.BTMT_BFLDI8",
"url":20,
"doc":"__int8"
},
{
"ref":"ida_typeinf.BTMT_BFLDI16",
"url":20,
"doc":"__int16"
},
{
"ref":"ida_typeinf.BTMT_BFLDI32",
"url":20,
"doc":"__int32"
},
{
"ref":"ida_typeinf.BTMT_BFLDI64",
"url":20,
"doc":"__int64"
},
{
"ref":"ida_typeinf.BT_RESERVED",
"url":20,
"doc":"RESERVED."
},
{
"ref":"ida_typeinf.BTM_CONST",
"url":20,
"doc":"const"
},
{
"ref":"ida_typeinf.BTM_VOLATILE",
"url":20,
"doc":"volatile"
},
{
"ref":"ida_typeinf.BTE_SIZE_MASK",
"url":20,
"doc":"storage size.  if  0 then inf_get_cc_size_e()  else 1  (n -1) = 1,2,4,8  n  5,6,7 are reserved"
},
{
"ref":"ida_typeinf.BTE_RESERVED",
"url":20,
"doc":"must be 0, in order to distinguish from a tah-byte"
},
{
"ref":"ida_typeinf.BTE_BITMASK",
"url":20,
"doc":"'subarrays'. In this case ANY record has the following format:  'de' mask (has name)  'dt' cnt  cnt records of 'de' values (cnt CAN be 0) @note: delta for ALL subsegment is ONE"
},
{
"ref":"ida_typeinf.BTE_OUT_MASK",
"url":20,
"doc":"output style mask"
},
{
"ref":"ida_typeinf.BTE_HEX",
"url":20,
"doc":"hex"
},
{
"ref":"ida_typeinf.BTE_CHAR",
"url":20,
"doc":"char or hex"
},
{
"ref":"ida_typeinf.BTE_SDEC",
"url":20,
"doc":"signed decimal"
},
{
"ref":"ida_typeinf.BTE_UDEC",
"url":20,
"doc":"unsigned decimal"
},
{
"ref":"ida_typeinf.BTE_ALWAYS",
"url":20,
"doc":"this bit MUST be present"
},
{
"ref":"ida_typeinf.BT_SEGREG",
"url":20,
"doc":"segment register"
},
{
"ref":"ida_typeinf.BT_UNK_BYTE",
"url":20,
"doc":"1 byte"
},
{
"ref":"ida_typeinf.BT_UNK_WORD",
"url":20,
"doc":"2 bytes"
},
{
"ref":"ida_typeinf.BT_UNK_DWORD",
"url":20,
"doc":"4 bytes"
},
{
"ref":"ida_typeinf.BT_UNK_QWORD",
"url":20,
"doc":"8 bytes"
},
{
"ref":"ida_typeinf.BT_UNK_OWORD",
"url":20,
"doc":"16 bytes"
},
{
"ref":"ida_typeinf.BT_UNKNOWN",
"url":20,
"doc":"unknown size - for parameters"
},
{
"ref":"ida_typeinf.BTF_BYTE",
"url":20,
"doc":"byte"
},
{
"ref":"ida_typeinf.BTF_UNK",
"url":20,
"doc":"unknown"
},
{
"ref":"ida_typeinf.BTF_VOID",
"url":20,
"doc":"void"
},
{
"ref":"ida_typeinf.BTF_INT8",
"url":20,
"doc":"signed byte"
},
{
"ref":"ida_typeinf.BTF_CHAR",
"url":20,
"doc":"signed char"
},
{
"ref":"ida_typeinf.BTF_UCHAR",
"url":20,
"doc":"unsigned char"
},
{
"ref":"ida_typeinf.BTF_UINT8",
"url":20,
"doc":"unsigned byte"
},
{
"ref":"ida_typeinf.BTF_INT16",
"url":20,
"doc":"signed short"
},
{
"ref":"ida_typeinf.BTF_UINT16",
"url":20,
"doc":"unsigned short"
},
{
"ref":"ida_typeinf.BTF_INT32",
"url":20,
"doc":"signed int"
},
{
"ref":"ida_typeinf.BTF_UINT32",
"url":20,
"doc":"unsigned int"
},
{
"ref":"ida_typeinf.BTF_INT64",
"url":20,
"doc":"signed long"
},
{
"ref":"ida_typeinf.BTF_UINT64",
"url":20,
"doc":"unsigned long"
},
{
"ref":"ida_typeinf.BTF_INT128",
"url":20,
"doc":"signed 128-bit value"
},
{
"ref":"ida_typeinf.BTF_UINT128",
"url":20,
"doc":"unsigned 128-bit value"
},
{
"ref":"ida_typeinf.BTF_INT",
"url":20,
"doc":"int, unknown signedness"
},
{
"ref":"ida_typeinf.BTF_UINT",
"url":20,
"doc":"unsigned int"
},
{
"ref":"ida_typeinf.BTF_SINT",
"url":20,
"doc":"singed int"
},
{
"ref":"ida_typeinf.BTF_BOOL",
"url":20,
"doc":"boolean"
},
{
"ref":"ida_typeinf.BTF_FLOAT",
"url":20,
"doc":"float"
},
{
"ref":"ida_typeinf.BTF_DOUBLE",
"url":20,
"doc":"double"
},
{
"ref":"ida_typeinf.BTF_LDOUBLE",
"url":20,
"doc":"long double"
},
{
"ref":"ida_typeinf.BTF_TBYTE",
"url":20,
"doc":"see BTMT_SPECFLT"
},
{
"ref":"ida_typeinf.BTF_STRUCT",
"url":20,
"doc":"struct"
},
{
"ref":"ida_typeinf.BTF_UNION",
"url":20,
"doc":"union"
},
{
"ref":"ida_typeinf.BTF_ENUM",
"url":20,
"doc":"enum"
},
{
"ref":"ida_typeinf.BTF_TYPEDEF",
"url":20,
"doc":"typedef"
},
{
"ref":"ida_typeinf.TA_ORG_TYPEDEF",
"url":20,
"doc":"the original typedef name (simple string)"
},
{
"ref":"ida_typeinf.TA_ORG_ARRDIM",
"url":20,
"doc":"the original array dimension (pack_dd)"
},
{
"ref":"ida_typeinf.TA_FORMAT",
"url":20,
"doc":"info about the 'format' argument. 3 times pack_dd: format_functype_t, argument number of 'format', argument number of ' .'"
},
{
"ref":"ida_typeinf.TA_VALUE_REPR",
"url":20,
"doc":"serialized value_repr_t (used for scalars and arrays)"
},
{
"ref":"ida_typeinf.append_argloc",
"url":20,
"doc":"append_argloc(out, vloc) -> bool Serialize argument location @param out: (C : qtype  ) @param vloc: (C : const argloc_t &) argloc_t const &",
"func":1
},
{
"ref":"ida_typeinf.extract_argloc",
"url":20,
"doc":"extract_argloc(vloc, ptype, forbid_stkoff) -> bool Deserialize an argument location. Argument FORBID_STKOFF checks location type. It can be used, for example, to check the return location of a function that cannot return a value in the stack @param vloc: (C : argloc_t  ) @param ptype: (C : const type_t  ) type_t const  @param forbid_stkoff: (C : bool)",
"func":1
},
{
"ref":"ida_typeinf.resolve_typedef",
"url":20,
"doc":"resolve_typedef(til, type) -> type_t const  @param til: til_t const  @param type: type_t const  ",
"func":1
},
{
"ref":"ida_typeinf.is_restype_void",
"url":20,
"doc":"is_restype_void(til, type) -> bool @param til: til_t const  @param type: type_t const  ",
"func":1
},
{
"ref":"ida_typeinf.is_restype_enum",
"url":20,
"doc":"is_restype_enum(til, type) -> bool @param til: til_t const  @param type: type_t const  ",
"func":1
},
{
"ref":"ida_typeinf.is_restype_struni",
"url":20,
"doc":"is_restype_struni(til, type) -> bool @param til: til_t const  @param type: type_t const  ",
"func":1
},
{
"ref":"ida_typeinf.is_restype_struct",
"url":20,
"doc":"is_restype_struct(til, type) -> bool @param til: til_t const  @param type: type_t const  ",
"func":1
},
{
"ref":"ida_typeinf.get_scalar_bt",
"url":20,
"doc":"get_scalar_bt(size) -> type_t @param size: int",
"func":1
},
{
"ref":"ida_typeinf.til_t",
"url":20,
"doc":"Proxy of C til_t class. __init__(self) -> til_t"
},
{
"ref":"ida_typeinf.til_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.til_t.name",
"url":20,
"doc":"short file name (without path and extension)"
},
{
"ref":"ida_typeinf.til_t.desc",
"url":20,
"doc":"human readable til description"
},
{
"ref":"ida_typeinf.til_t.nbases",
"url":20,
"doc":"number of base tils"
},
{
"ref":"ida_typeinf.til_t.flags",
"url":20,
"doc":"Type info library property bits"
},
{
"ref":"ida_typeinf.til_t.is_dirty",
"url":20,
"doc":"is_dirty(self) -> bool Has the til been modified? (TIL_MOD)",
"func":1
},
{
"ref":"ida_typeinf.til_t.set_dirty",
"url":20,
"doc":"set_dirty(self) Mark the til as modified (TIL_MOD)",
"func":1
},
{
"ref":"ida_typeinf.til_t.find_base",
"url":20,
"doc":"find_base(self, n) -> til_t Find the base til with the provided name @param n: (C : const char  ) the base til name @return: the found til_t, or nullptr",
"func":1
},
{
"ref":"ida_typeinf.til_t.cc",
"url":20,
"doc":"information about the target compiler"
},
{
"ref":"ida_typeinf.til_t.nrefs",
"url":20,
"doc":"number of references to the til"
},
{
"ref":"ida_typeinf.til_t.nstreams",
"url":20,
"doc":"number of extra streams"
},
{
"ref":"ida_typeinf.til_t.streams",
"url":20,
"doc":"symbol stream storage"
},
{
"ref":"ida_typeinf.til_t.base",
"url":20,
"doc":"base(self, n) -> til_t tils that our til is based on @param n: int",
"func":1
},
{
"ref":"ida_typeinf.til_t.get_type_names",
"url":20,
"doc":"",
"func":1
},
{
"ref":"ida_typeinf.til_t.type_names",
"url":20,
"doc":""
},
{
"ref":"ida_typeinf.no_sign",
"url":20,
"doc":"no sign, or unknown"
},
{
"ref":"ida_typeinf.type_signed",
"url":20,
"doc":"signed type"
},
{
"ref":"ida_typeinf.type_unsigned",
"url":20,
"doc":"unsigned type"
},
{
"ref":"ida_typeinf.TIL_ZIP",
"url":20,
"doc":"pack buckets using zip"
},
{
"ref":"ida_typeinf.TIL_MAC",
"url":20,
"doc":"til has macro table"
},
{
"ref":"ida_typeinf.TIL_ESI",
"url":20,
"doc":"extended sizeof info (short, long, longlong)"
},
{
"ref":"ida_typeinf.TIL_UNI",
"url":20,
"doc":"universal til for any compiler"
},
{
"ref":"ida_typeinf.TIL_ORD",
"url":20,
"doc":"type ordinal numbers are present"
},
{
"ref":"ida_typeinf.TIL_ALI",
"url":20,
"doc":"type aliases are present (this bit is used only on the disk)"
},
{
"ref":"ida_typeinf.TIL_MOD",
"url":20,
"doc":"til has been modified, should be saved"
},
{
"ref":"ida_typeinf.TIL_STM",
"url":20,
"doc":"til has extra streams"
},
{
"ref":"ida_typeinf.TIL_SLD",
"url":20,
"doc":"sizeof(long double)"
},
{
"ref":"ida_typeinf.new_til",
"url":20,
"doc":"new_til(name, desc) -> til_t Initialize a til. @param name: (C : const char  ) char const  @param desc: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_typeinf.TIL_ADD_FAILED",
"url":20,
"doc":"see errbuf"
},
{
"ref":"ida_typeinf.TIL_ADD_OK",
"url":20,
"doc":"some tils were added"
},
{
"ref":"ida_typeinf.TIL_ADD_ALREADY",
"url":20,
"doc":"the base til was already added"
},
{
"ref":"ida_typeinf.load_til",
"url":20,
"doc":"load_til(name, tildir=None) -> til_t Load til from a file without adding it to the database list (see also add_til). Failure to load base tils are reported into 'errbuf'. They do not prevent loading of the main til. @param name: (C : const char  ) filename of the til. If it's an absolute path, tildir is ignored.  NB: the file extension is forced to .til @param tildir: (C : const char  ) directory where to load the til from. nullptr means default til subdirectories. @return: pointer to resulting til, nullptr if failed and error message is in errbuf",
"func":1
},
{
"ref":"ida_typeinf.compact_til",
"url":20,
"doc":"compact_til(ti) -> bool Collect garbage in til. Must be called before storing the til. @param ti: (C : til_t  ) @return: true if any memory was freed",
"func":1
},
{
"ref":"ida_typeinf.store_til",
"url":20,
"doc":"store_til(ti, tildir, name) -> bool Store til to a file. If the til contains garbage, it will be collected before storing the til. Your plugin should call compact_til() before calling store_til(). @param ti: (C : til_t  ) type library to store @param tildir: (C : const char  ) directory where to store the til. nullptr means current directory. @param name: (C : const char  ) filename of the til. If it's an absolute path, tildir is ignored.  NB: the file extension is forced to .til @return: success",
"func":1
},
{
"ref":"ida_typeinf.free_til",
"url":20,
"doc":"free_til(ti) Free memory allocated by til. @param ti: (C : til_t  )",
"func":1
},
{
"ref":"ida_typeinf.load_til_header",
"url":20,
"doc":"load_til_header(tildir, name) -> til_t Get human-readable til description. @param tildir: (C : const char  ) char const  @param name: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_typeinf.is_code_far",
"url":20,
"doc":"is_code_far(cm) -> bool Does the given model specify far code?. @param cm: (C : cm_t)",
"func":1
},
{
"ref":"ida_typeinf.is_data_far",
"url":20,
"doc":"is_data_far(cm) -> bool Does the given model specify far data?. @param cm: (C : cm_t)",
"func":1
},
{
"ref":"ida_typeinf.rrel_t",
"url":20,
"doc":"Proxy of C rrel_t class. __init__(self) -> rrel_t"
},
{
"ref":"ida_typeinf.rrel_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.rrel_t.off",
"url":20,
"doc":"displacement from the address pointed by the register"
},
{
"ref":"ida_typeinf.rrel_t.reg",
"url":20,
"doc":"register index (into ph.reg_names)"
},
{
"ref":"ida_typeinf.CM_UNKNOWN",
"url":20,
"doc":"unknown"
},
{
"ref":"ida_typeinf.CM_N8_F16",
"url":20,
"doc":"if sizeof(int)<=2: near 1 byte, far 2 bytes"
},
{
"ref":"ida_typeinf.CM_N64",
"url":20,
"doc":"if sizeof(int)>2: near 8 bytes, far 8 bytes"
},
{
"ref":"ida_typeinf.CM_N16_F32",
"url":20,
"doc":"near 2 bytes, far 4 bytes"
},
{
"ref":"ida_typeinf.CM_N32_F48",
"url":20,
"doc":"near 4 bytes, far 6 bytes"
},
{
"ref":"ida_typeinf.CM_M_NN",
"url":20,
"doc":"small: code=near, data=near (or unknown if CM_UNKNOWN)"
},
{
"ref":"ida_typeinf.CM_M_FF",
"url":20,
"doc":"large: code=far, data=far"
},
{
"ref":"ida_typeinf.CM_M_NF",
"url":20,
"doc":"compact: code=near, data=far"
},
{
"ref":"ida_typeinf.CM_M_FN",
"url":20,
"doc":"medium: code=far, data=near"
},
{
"ref":"ida_typeinf.CM_CC_INVALID",
"url":20,
"doc":"this value is invalid"
},
{
"ref":"ida_typeinf.CM_CC_UNKNOWN",
"url":20,
"doc":"unknown calling convention"
},
{
"ref":"ida_typeinf.CM_CC_VOIDARG",
"url":20,
"doc":"function without arguments if has other cc and argnum  0, represent as f() - unknown list"
},
{
"ref":"ida_typeinf.CM_CC_CDECL",
"url":20,
"doc":"stack"
},
{
"ref":"ida_typeinf.CM_CC_ELLIPSIS",
"url":20,
"doc":"cdecl + ellipsis"
},
{
"ref":"ida_typeinf.CM_CC_STDCALL",
"url":20,
"doc":"stack, purged"
},
{
"ref":"ida_typeinf.CM_CC_PASCAL",
"url":20,
"doc":"stack, purged, reverse order of args"
},
{
"ref":"ida_typeinf.CM_CC_FASTCALL",
"url":20,
"doc":"stack, purged (x86), first args are in regs (compiler-dependent)"
},
{
"ref":"ida_typeinf.CM_CC_THISCALL",
"url":20,
"doc":"stack, purged (x86), first arg is in reg (compiler-dependent)"
},
{
"ref":"ida_typeinf.CM_CC_SWIFT",
"url":20,
"doc":"(Swift) arguments and return values in registers (compiler-dependent)"
},
{
"ref":"ida_typeinf.CM_CC_SPOILED",
"url":20,
"doc":"This is NOT a cc! Mark of __spoil record the low nibble is count and after n {spoilreg_t} present real cm_t byte. if n  BFA_FUNC_MARKER, the next byte is the function attribute byte."
},
{
"ref":"ida_typeinf.CM_CC_GOLANG",
"url":20,
"doc":"(Go) arguments and return value in stack"
},
{
"ref":"ida_typeinf.CM_CC_SPECIALE",
"url":20,
"doc":"CM_CC_SPECIAL with ellipsis"
},
{
"ref":"ida_typeinf.CM_CC_SPECIALP",
"url":20,
"doc":"Equal to CM_CC_SPECIAL, but with purged stack."
},
{
"ref":"ida_typeinf.CM_CC_SPECIAL",
"url":20,
"doc":"usercall: locations of all arguments and the return value are explicitly specified"
},
{
"ref":"ida_typeinf.BFA_NORET",
"url":20,
"doc":"__noreturn"
},
{
"ref":"ida_typeinf.BFA_PURE",
"url":20,
"doc":"__pure"
},
{
"ref":"ida_typeinf.BFA_HIGH",
"url":20,
"doc":"high level prototype (with possibly hidden args)"
},
{
"ref":"ida_typeinf.BFA_STATIC",
"url":20,
"doc":"static"
},
{
"ref":"ida_typeinf.BFA_VIRTUAL",
"url":20,
"doc":"virtual"
},
{
"ref":"ida_typeinf.BFA_FUNC_MARKER",
"url":20,
"doc":"This is NOT a cc! (used internally as a marker)"
},
{
"ref":"ida_typeinf.BFA_FUNC_EXT_FORMAT",
"url":20,
"doc":"This is NOT a real attribute (used internally as marker for extended format)"
},
{
"ref":"ida_typeinf.ALOC_NONE",
"url":20,
"doc":"none"
},
{
"ref":"ida_typeinf.ALOC_STACK",
"url":20,
"doc":"stack offset"
},
{
"ref":"ida_typeinf.ALOC_DIST",
"url":20,
"doc":"distributed (scattered)"
},
{
"ref":"ida_typeinf.ALOC_REG1",
"url":20,
"doc":"one register (and offset within it)"
},
{
"ref":"ida_typeinf.ALOC_REG2",
"url":20,
"doc":"register pair"
},
{
"ref":"ida_typeinf.ALOC_RREL",
"url":20,
"doc":"register relative"
},
{
"ref":"ida_typeinf.ALOC_STATIC",
"url":20,
"doc":"global address"
},
{
"ref":"ida_typeinf.ALOC_CUSTOM",
"url":20,
"doc":"custom argloc (7 or higher)"
},
{
"ref":"ida_typeinf.argloc_t",
"url":20,
"doc":"Proxy of C argloc_t class. __init__(self) -> argloc_t __init__(self, r) -> argloc_t @param r: argloc_t const &"
},
{
"ref":"ida_typeinf.argloc_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.argloc_t.swap",
"url":20,
"doc":"swap(self, r) Assign this  r and r  this. @param r: (C : argloc_t &)",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.atype",
"url":20,
"doc":"atype(self) -> argloc_type_t Get type (Argument location types)",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.is_reg1",
"url":20,
"doc":"is_reg1(self) -> bool See ALOC_REG1.",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.is_reg2",
"url":20,
"doc":"is_reg2(self) -> bool See ALOC_REG2.",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.is_reg",
"url":20,
"doc":"is_reg(self) -> bool is_reg1()  is_reg2()",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.is_rrel",
"url":20,
"doc":"is_rrel(self) -> bool See ALOC_RREL.",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.is_ea",
"url":20,
"doc":"is_ea(self) -> bool See ALOC_STATIC.",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.is_stkoff",
"url":20,
"doc":"is_stkoff(self) -> bool See ALOC_STACK.",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.is_scattered",
"url":20,
"doc":"is_scattered(self) -> bool See ALOC_DIST.",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.has_reg",
"url":20,
"doc":"has_reg(self) -> bool TRUE if argloc has a register part.",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.has_stkoff",
"url":20,
"doc":"has_stkoff(self) -> bool TRUE if argloc has a stack part.",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.is_mixed_scattered",
"url":20,
"doc":"is_mixed_scattered(self) -> bool mixed scattered: consists of register and stack parts",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.in_stack",
"url":20,
"doc":"in_stack(self) -> bool TRUE if argloc is in stack entirely.",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.is_fragmented",
"url":20,
"doc":"is_fragmented(self) -> bool is_scattered()  is_reg2()",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.is_custom",
"url":20,
"doc":"is_custom(self) -> bool See ALOC_CUSTOM.",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.is_badloc",
"url":20,
"doc":"is_badloc(self) -> bool See ALOC_NONE.",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.reg1",
"url":20,
"doc":"reg1(self) -> int Get the register info. Use when atype()  ALOC_REG1 or ALOC_REG2",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.regoff",
"url":20,
"doc":"regoff(self) -> int Get offset from the beginning of the register in bytes. Use when atype()  ALOC_REG1",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.reg2",
"url":20,
"doc":"reg2(self) -> int Get info for the second register. Use when atype()  ALOC_REG2",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.get_reginfo",
"url":20,
"doc":"get_reginfo(self) -> uint32 Get all register info. Use when atype()  ALOC_REG1 or ALOC_REG2",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.stkoff",
"url":20,
"doc":"stkoff(self) -> sval_t Get the stack offset. Use if atype()  ALOC_STACK",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.get_ea",
"url":20,
"doc":"get_ea(self) -> ea_t Get the global address. Use when atype()  ALOC_STATIC",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.scattered",
"url":20,
"doc":"scattered(self) -> scattered_aloc_t Get scattered argument info. Use when atype()  ALOC_DIST",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.get_rrel",
"url":20,
"doc":"get_rrel(self) -> rrel_t Get register-relative info. Use when atype()  ALOC_RREL",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.get_custom",
"url":20,
"doc":"get_custom(self) -> void  Get custom argloc info. Use if atype()  ALOC_CUSTOM",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.get_biggest",
"url":20,
"doc":"get_biggest(self) -> argloc_t biggest_t Get largest element in internal union.",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.set_reg1",
"url":20,
"doc":"set_reg1(self, reg, off=0) Set register location. @param reg: (C : int) @param off: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.set_reg2",
"url":20,
"doc":"set_reg2(self, _reg1, _reg2) Set secondary register location. @param _reg1: (C : int) @param _reg2: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.set_stkoff",
"url":20,
"doc":"set_stkoff(self, off) Set stack offset location. @param off: (C : sval_t)",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.set_ea",
"url":20,
"doc":"set_ea(self, _ea) Set static ea location. @param _ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.consume_rrel",
"url":20,
"doc":"consume_rrel(self, p) Set register-relative location - can't be nullptr. @param p: (C : rrel_t  )",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.set_badloc",
"url":20,
"doc":"set_badloc(self) Set to invalid location.",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.calc_offset",
"url":20,
"doc":"calc_offset(self) -> sval_t Calculate offset that can be used to compare 2 similar arglocs.",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.advance",
"url":20,
"doc":"advance(self, delta) -> bool Move the location to point 'delta' bytes further. @param delta: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.align_reg_high",
"url":20,
"doc":"align_reg_high(self, size, _slotsize) Set register offset to align it to the upper part of _SLOTSIZE. @param size: (C : size_t) @param _slotsize: (C : size_t)",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.align_stkoff_high",
"url":20,
"doc":"align_stkoff_high(self, size, _slotsize) Set stack offset to align to the upper part of _SLOTSIZE. @param size: (C : size_t) @param _slotsize: (C : size_t)",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.compare",
"url":20,
"doc":"compare(self, r) -> int @param r: argloc_t const &",
"func":1
},
{
"ref":"ida_typeinf.argloc_t.consume_scattered",
"url":20,
"doc":"consume_scattered(self, p) Set distributed argument location. @param p: (C : scattered_aloc_t  ) scattered_aloc_t const &",
"func":1
},
{
"ref":"ida_typeinf.argpart_t",
"url":20,
"doc":"Proxy of C argpart_t class. __init__(self, a) -> argpart_t @param a: argloc_t const & __init__(self) -> argpart_t"
},
{
"ref":"ida_typeinf.argpart_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.argpart_t.off",
"url":20,
"doc":"offset from the beginning of the argument"
},
{
"ref":"ida_typeinf.argpart_t.size",
"url":20,
"doc":"the number of bytes"
},
{
"ref":"ida_typeinf.argpart_t.bad_offset",
"url":20,
"doc":"bad_offset(self) -> bool Does this argpart have a valid offset?",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.bad_size",
"url":20,
"doc":"bad_size(self) -> bool Does this argpart have a valid size?",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.swap",
"url":20,
"doc":"swap(self, r) Assign this = r and r = this. @param r: (C : argpart_t &)",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.atype",
"url":20,
"doc":"atype(self) -> argloc_type_t Get type (Argument location types)",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.is_reg1",
"url":20,
"doc":"is_reg1(self) -> bool See ALOC_REG1.",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.is_reg2",
"url":20,
"doc":"is_reg2(self) -> bool See ALOC_REG2.",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.is_reg",
"url":20,
"doc":"is_reg(self) -> bool is_reg1()  is_reg2()",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.is_rrel",
"url":20,
"doc":"is_rrel(self) -> bool See ALOC_RREL.",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.is_ea",
"url":20,
"doc":"is_ea(self) -> bool See ALOC_STATIC.",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.is_stkoff",
"url":20,
"doc":"is_stkoff(self) -> bool See ALOC_STACK.",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.is_scattered",
"url":20,
"doc":"is_scattered(self) -> bool See ALOC_DIST.",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.has_reg",
"url":20,
"doc":"has_reg(self) -> bool TRUE if argloc has a register part.",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.has_stkoff",
"url":20,
"doc":"has_stkoff(self) -> bool TRUE if argloc has a stack part.",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.is_mixed_scattered",
"url":20,
"doc":"is_mixed_scattered(self) -> bool mixed scattered: consists of register and stack parts",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.in_stack",
"url":20,
"doc":"in_stack(self) -> bool TRUE if argloc is in stack entirely.",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.is_fragmented",
"url":20,
"doc":"is_fragmented(self) -> bool is_scattered()  is_reg2()",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.is_custom",
"url":20,
"doc":"is_custom(self) -> bool See ALOC_CUSTOM.",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.is_badloc",
"url":20,
"doc":"is_badloc(self) -> bool See ALOC_NONE.",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.reg1",
"url":20,
"doc":"reg1(self) -> int Get the register info. Use when atype()  ALOC_REG1 or ALOC_REG2",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.regoff",
"url":20,
"doc":"regoff(self) -> int Get offset from the beginning of the register in bytes. Use when atype()  ALOC_REG1",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.reg2",
"url":20,
"doc":"reg2(self) -> int Get info for the second register. Use when atype()  ALOC_REG2",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.get_reginfo",
"url":20,
"doc":"get_reginfo(self) -> uint32 Get all register info. Use when atype()  ALOC_REG1 or ALOC_REG2",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.stkoff",
"url":20,
"doc":"stkoff(self) -> sval_t Get the stack offset. Use if atype()  ALOC_STACK",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.get_ea",
"url":20,
"doc":"get_ea(self) -> ea_t Get the global address. Use when atype()  ALOC_STATIC",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.scattered",
"url":20,
"doc":"scattered(self) -> scattered_aloc_t Get scattered argument info. Use when atype()  ALOC_DIST",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.get_rrel",
"url":20,
"doc":"get_rrel(self) -> rrel_t Get register-relative info. Use when atype()  ALOC_RREL",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.get_custom",
"url":20,
"doc":"get_custom(self) -> void  Get custom argloc info. Use if atype()  ALOC_CUSTOM",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.get_biggest",
"url":20,
"doc":"get_biggest(self) -> argloc_t biggest_t Get largest element in internal union.",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.set_reg1",
"url":20,
"doc":"set_reg1(self, reg, off=0) Set register location. @param reg: (C : int) @param off: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.set_reg2",
"url":20,
"doc":"set_reg2(self, _reg1, _reg2) Set secondary register location. @param _reg1: (C : int) @param _reg2: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.set_stkoff",
"url":20,
"doc":"set_stkoff(self, off) Set stack offset location. @param off: (C : sval_t)",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.set_ea",
"url":20,
"doc":"set_ea(self, _ea) Set static ea location. @param _ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.consume_rrel",
"url":20,
"doc":"consume_rrel(self, p) Set register-relative location - can't be nullptr. @param p: (C : rrel_t  )",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.set_badloc",
"url":20,
"doc":"set_badloc(self) Set to invalid location.",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.calc_offset",
"url":20,
"doc":"calc_offset(self) -> sval_t Calculate offset that can be used to compare 2 similar arglocs.",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.advance",
"url":20,
"doc":"advance(self, delta) -> bool Move the location to point 'delta' bytes further. @param delta: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.align_reg_high",
"url":20,
"doc":"align_reg_high(self, size, _slotsize) Set register offset to align it to the upper part of _SLOTSIZE. @param size: (C : size_t) @param _slotsize: (C : size_t)",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.align_stkoff_high",
"url":20,
"doc":"align_stkoff_high(self, size, _slotsize) Set stack offset to align to the upper part of _SLOTSIZE. @param size: (C : size_t) @param _slotsize: (C : size_t)",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.compare",
"url":20,
"doc":"compare(self, r) -> int @param r: argloc_t const &",
"func":1
},
{
"ref":"ida_typeinf.argpart_t.consume_scattered",
"url":20,
"doc":"consume_scattered(self, p) Set distributed argument location. @param p: (C : scattered_aloc_t  ) scattered_aloc_t const &",
"func":1
},
{
"ref":"ida_typeinf.scattered_aloc_t",
"url":20,
"doc":"Proxy of C scattered_aloc_t class. __init__(self) -> scattered_aloc_t"
},
{
"ref":"ida_typeinf.scattered_aloc_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.scattered_aloc_t.push_back",
"url":20,
"doc":"push_back(self, x) @param x: argpart_t const & push_back(self) -> argpart_t",
"func":1
},
{
"ref":"ida_typeinf.scattered_aloc_t.pop_back",
"url":20,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_typeinf.scattered_aloc_t.size",
"url":20,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.scattered_aloc_t.empty",
"url":20,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.scattered_aloc_t.at",
"url":20,
"doc":"at(self, _idx) -> argpart_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_typeinf.scattered_aloc_t.qclear",
"url":20,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_typeinf.scattered_aloc_t.clear",
"url":20,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_typeinf.scattered_aloc_t.resize",
"url":20,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: argpart_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_typeinf.scattered_aloc_t.grow",
"url":20,
"doc":"grow(self, x=argpart_t( @param x: argpart_t const &",
"func":1
},
{
"ref":"ida_typeinf.scattered_aloc_t.capacity",
"url":20,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.scattered_aloc_t.reserve",
"url":20,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_typeinf.scattered_aloc_t.truncate",
"url":20,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_typeinf.scattered_aloc_t.swap",
"url":20,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_typeinf.scattered_aloc_t.extract",
"url":20,
"doc":"extract(self) -> argpart_t",
"func":1
},
{
"ref":"ida_typeinf.scattered_aloc_t.inject",
"url":20,
"doc":"inject(self, s, len) @param s: argpart_t  @param len: size_t",
"func":1
},
{
"ref":"ida_typeinf.scattered_aloc_t.begin",
"url":20,
"doc":"begin(self) -> argpart_t",
"func":1
},
{
"ref":"ida_typeinf.scattered_aloc_t.end",
"url":20,
"doc":"end(self) -> argpart_t",
"func":1
},
{
"ref":"ida_typeinf.scattered_aloc_t.insert",
"url":20,
"doc":"insert(self, it, x) -> argpart_t @param it: qvector  iterator @param x: argpart_t const &",
"func":1
},
{
"ref":"ida_typeinf.scattered_aloc_t.erase",
"url":20,
"doc":"erase(self, it) -> argpart_t @param it: qvector  iterator erase(self, first, last) -> argpart_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_typeinf.scattered_aloc_t.find",
"url":20,
"doc":"find(self, x) -> argpart_t @param x: argpart_t const &",
"func":1
},
{
"ref":"ida_typeinf.scattered_aloc_t.has",
"url":20,
"doc":"has(self, x) -> bool @param x: argpart_t const &",
"func":1
},
{
"ref":"ida_typeinf.scattered_aloc_t.add_unique",
"url":20,
"doc":"add_unique(self, x) -> bool @param x: argpart_t const &",
"func":1
},
{
"ref":"ida_typeinf.verify_argloc",
"url":20,
"doc":"verify_argloc(vloc, size, gaps) -> int Verify argloc_t. @param vloc: (C : const argloc_t &) argloc to verify @param size: (C : int) total size of the variable @param gaps: (C : const rangeset_t  ) if not nullptr, specifies gaps in structure definition. these gaps should not map to any argloc, but everything else must be covered @return: 0 if ok, otherwise an interr code.",
"func":1
},
{
"ref":"ida_typeinf.optimize_argloc",
"url":20,
"doc":"optimize_argloc(vloc, size, gaps) -> bool Verify and optimize scattered argloc into simple form. All new arglocs must be processed by this function. @retval true: success @retval false: the input argloc was illegal @param vloc: (C : argloc_t  ) @param size: (C : int) @param gaps: (C : const rangeset_t  ) rangeset_t const  ",
"func":1
},
{
"ref":"ida_typeinf.print_argloc",
"url":20,
"doc":"print_argloc(vloc, size=0, vflags=0) -> size_t Convert an argloc to human readable form. @param vloc: (C : const argloc_t &) argloc_t const & @param size: (C : int) @param vflags: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.PRALOC_VERIFY",
"url":20,
"doc":"interr if illegal argloc"
},
{
"ref":"ida_typeinf.PRALOC_STKOFF",
"url":20,
"doc":"print stack offsets"
},
{
"ref":"ida_typeinf.aloc_visitor_t",
"url":20,
"doc":"Proxy of C aloc_visitor_t class. __init__(self) -> aloc_visitor_t @param self: PyObject  "
},
{
"ref":"ida_typeinf.aloc_visitor_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.aloc_visitor_t.visit_location",
"url":20,
"doc":"visit_location(self, v, off, size) -> int @param v: argloc_t & @param off: int @param size: int",
"func":1
},
{
"ref":"ida_typeinf.for_all_arglocs",
"url":20,
"doc":"for_all_arglocs(vv, vloc, size, off=0) -> int Compress larger argloc types and initiate the aloc visitor. @param vv: (C : aloc_visitor_t &) @param vloc: (C : argloc_t &) @param size: (C : int) @param off: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.const_aloc_visitor_t",
"url":20,
"doc":"Proxy of C const_aloc_visitor_t class. __init__(self) -> const_aloc_visitor_t @param self: PyObject  "
},
{
"ref":"ida_typeinf.const_aloc_visitor_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.const_aloc_visitor_t.visit_location",
"url":20,
"doc":"visit_location(self, v, off, size) -> int @param v: argloc_t const & @param off: int @param size: int",
"func":1
},
{
"ref":"ida_typeinf.for_all_const_arglocs",
"url":20,
"doc":"for_all_const_arglocs(vv, vloc, size, off=0) -> int See for_all_arglocs() @param vv: (C : const_aloc_visitor_t &) @param vloc: (C : const argloc_t &) argloc_t const & @param size: (C : int) @param off: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.is_user_cc",
"url":20,
"doc":"is_user_cc(cm) -> bool Does the calling convention specify argument locations explicitly? @param cm: (C : cm_t)",
"func":1
},
{
"ref":"ida_typeinf.is_vararg_cc",
"url":20,
"doc":"is_vararg_cc(cm) -> bool Does the calling convention use ellipsis? @param cm: (C : cm_t)",
"func":1
},
{
"ref":"ida_typeinf.is_purging_cc",
"url":20,
"doc":"is_purging_cc(cm) -> bool Does the calling convention clean the stack arguments upon return?. @note: this function is valid only for x86 code @param cm: (C : cm_t)",
"func":1
},
{
"ref":"ida_typeinf.is_golang_cc",
"url":20,
"doc":"is_golang_cc(cc) -> bool GO language calling convention (return value in stack)? @param cc: (C : cm_t)",
"func":1
},
{
"ref":"ida_typeinf.is_swift_cc",
"url":20,
"doc":"is_swift_cc(cc) -> bool Swift calling convention (arguments and return values in registers)? @param cc: (C : cm_t)",
"func":1
},
{
"ref":"ida_typeinf.ARGREGS_GP_ONLY",
"url":20,
"doc":"GP registers used for all arguments."
},
{
"ref":"ida_typeinf.ARGREGS_INDEPENDENT",
"url":20,
"doc":"FP/GP registers used separately (like gcc64)"
},
{
"ref":"ida_typeinf.ARGREGS_BY_SLOTS",
"url":20,
"doc":"fixed FP/GP register per each slot (like vc64)"
},
{
"ref":"ida_typeinf.ARGREGS_FP_MASKS_GP",
"url":20,
"doc":"FP register also consumes one or more GP regs but not vice versa (aix ppc ABI)"
},
{
"ref":"ida_typeinf.ARGREGS_MIPS_O32",
"url":20,
"doc":"MIPS ABI o32."
},
{
"ref":"ida_typeinf.ARGREGS_RISCV",
"url":20,
"doc":"Risc-V API FP arguments are passed in GP registers if FP registers are exhausted and GP ones are not. Wide FP arguments are passed in GP registers. Variadic FP arguments are passed in GP registers."
},
{
"ref":"ida_typeinf.callregs_t",
"url":20,
"doc":"Proxy of C callregs_t class. __init__(self) -> callregs_t __init__(self, cc) -> callregs_t @param cc: cm_t"
},
{
"ref":"ida_typeinf.callregs_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.callregs_t.policy",
"url":20,
"doc":"argument policy"
},
{
"ref":"ida_typeinf.callregs_t.nregs",
"url":20,
"doc":"max number of registers that can be used in a call"
},
{
"ref":"ida_typeinf.callregs_t.gpregs",
"url":20,
"doc":"array of gp registers"
},
{
"ref":"ida_typeinf.callregs_t.fpregs",
"url":20,
"doc":"array of fp registers"
},
{
"ref":"ida_typeinf.callregs_t.swap",
"url":20,
"doc":"swap(self, r) swap two instances @param r: (C : callregs_t &)",
"func":1
},
{
"ref":"ida_typeinf.callregs_t.init_regs",
"url":20,
"doc":"init_regs(self, cc) Init policy & registers for given CC. @param cc: (C : cm_t)",
"func":1
},
{
"ref":"ida_typeinf.callregs_t.by_slots",
"url":20,
"doc":"by_slots(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.callregs_t.set",
"url":20,
"doc":"set(self, _policy, gprs, fprs) Init policy & registers (arrays are -1-terminated) @param _policy: (C : argreg_policy_t) enum argreg_policy_t @param gprs: (C : const int  ) int const  @param fprs: (C : const int  ) int const  ",
"func":1
},
{
"ref":"ida_typeinf.callregs_t.GPREGS",
"url":20,
"doc":""
},
{
"ref":"ida_typeinf.callregs_t.FPREGS",
"url":20,
"doc":""
},
{
"ref":"ida_typeinf.callregs_t.set_registers",
"url":20,
"doc":"set_registers(self, kind, first_reg, last_reg) @param kind: enum callregs_t reg_kind_t @param first_reg: int @param last_reg: int",
"func":1
},
{
"ref":"ida_typeinf.callregs_t.reset",
"url":20,
"doc":"reset(self) Set policy and registers to invalid values.",
"func":1
},
{
"ref":"ida_typeinf.callregs_t.regcount",
"url":20,
"doc":"regcount(cc) -> int Get max number of registers may be used in a function call. @param cc: (C : cm_t)",
"func":1
},
{
"ref":"ida_typeinf.callregs_t.reginds",
"url":20,
"doc":"reginds(self, gp_ind, fp_ind, r) -> bool Get register indexes within GP/FP arrays. (-1 -> is not present in the corresponding array) @param gp_ind: (C : int  ) @param fp_ind: (C : int  ) @param r: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.get_comp",
"url":20,
"doc":"get_comp(comp) -> comp_t Get compiler bits. @param comp: (C : comp_t)",
"func":1
},
{
"ref":"ida_typeinf.get_compiler_name",
"url":20,
"doc":"get_compiler_name(id) -> char const  Get full compiler name. @param id: (C : comp_t)",
"func":1
},
{
"ref":"ida_typeinf.get_compiler_abbr",
"url":20,
"doc":"get_compiler_abbr(id) -> char const  Get abbreviated compiler name. @param id: (C : comp_t)",
"func":1
},
{
"ref":"ida_typeinf.get_compilers",
"url":20,
"doc":"get_compilers(ids, names, abbrs) Get names of all built-in compilers. @param ids: (C : compvec_t  ) @param names: (C : qstrvec_t  ) @param abbrs: (C : qstrvec_t  )",
"func":1
},
{
"ref":"ida_typeinf.is_comp_unsure",
"url":20,
"doc":"is_comp_unsure(comp) -> comp_t See COMP_UNSURE. @param comp: (C : comp_t)",
"func":1
},
{
"ref":"ida_typeinf.default_compiler",
"url":20,
"doc":"default_compiler() -> comp_t Get compiler specified by inf.cc.",
"func":1
},
{
"ref":"ida_typeinf.is_gcc",
"url":20,
"doc":"is_gcc() -> bool Is the target compiler COMP_GNU?",
"func":1
},
{
"ref":"ida_typeinf.is_gcc32",
"url":20,
"doc":"is_gcc32() -> bool Is the target compiler 32 bit gcc?",
"func":1
},
{
"ref":"ida_typeinf.is_gcc64",
"url":20,
"doc":"is_gcc64() -> bool Is the target compiler 64 bit gcc?",
"func":1
},
{
"ref":"ida_typeinf.gcc_layout",
"url":20,
"doc":"gcc_layout() -> bool Should use the struct/union layout as done by gcc?",
"func":1
},
{
"ref":"ida_typeinf.set_compiler",
"url":20,
"doc":"set_compiler(cc, flags, abiname=None) -> bool Change current compiler. @param cc: (C : const compiler_info_t &) compiler to switch to @param flags: (C : int) Set compiler flags @param abiname: (C : const char  ) ABI name @return: success",
"func":1
},
{
"ref":"ida_typeinf.SETCOMP_OVERRIDE",
"url":20,
"doc":"may override old compiler info"
},
{
"ref":"ida_typeinf.SETCOMP_ONLY_ID",
"url":20,
"doc":"cc has only 'id' field; the rest will be set to defaults corresponding to the program bitness"
},
{
"ref":"ida_typeinf.SETCOMP_ONLY_ABI",
"url":20,
"doc":"ignore cc field complete, use only abiname"
},
{
"ref":"ida_typeinf.SETCOMP_BY_USER",
"url":20,
"doc":"invoked by user, cannot be replaced by module/loader"
},
{
"ref":"ida_typeinf.set_compiler_id",
"url":20,
"doc":"set_compiler_id(id, abiname=None) -> bool Set the compiler id (see Compiler IDs) @param id: (C : comp_t) @param abiname: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_typeinf.set_abi_name",
"url":20,
"doc":"set_abi_name(abiname, user_level=False) -> bool Set abi name (see Compiler IDs) @param abiname: (C : const char  ) char const  @param user_level: (C : bool)",
"func":1
},
{
"ref":"ida_typeinf.get_abi_name",
"url":20,
"doc":"get_abi_name() -> str Get ABI name. @return: length of the name (>=0)",
"func":1
},
{
"ref":"ida_typeinf.append_abi_opts",
"url":20,
"doc":"append_abi_opts(abi_opts, user_level=False) -> bool Add/remove/check ABI option General form of full abi name: abiname-opt1-opt2- . or -opt1-opt2- . @param abi_opts: (C : const char  ) - ABI options to add/remove in form opt1-opt2- . @param user_level: (C : bool) - initiated by user if TRUE ( SETCOMP_BY_USER) @return: success",
"func":1
},
{
"ref":"ida_typeinf.remove_abi_opts",
"url":20,
"doc":"remove_abi_opts(abi_opts, user_level=False) -> bool @param abi_opts: char const  @param user_level: bool",
"func":1
},
{
"ref":"ida_typeinf.set_compiler_string",
"url":20,
"doc":"set_compiler_string(compstr, user_level) -> bool @param compstr: (C : const char  ) - compiler description in form  : @param user_level: (C : bool) - initiated by user if TRUE @return: success",
"func":1
},
{
"ref":"ida_typeinf.use_golang_cc",
"url":20,
"doc":"use_golang_cc() -> bool is GOLANG calling convention used by default?",
"func":1
},
{
"ref":"ida_typeinf.switch_to_golang",
"url":20,
"doc":"switch_to_golang() switch to GOLANG calling convention (to be used as default CC)",
"func":1
},
{
"ref":"ida_typeinf.MAX_FUNC_ARGS",
"url":20,
"doc":"max number of function arguments"
},
{
"ref":"ida_typeinf.SC_UNK",
"url":20,
"doc":"unknown"
},
{
"ref":"ida_typeinf.SC_TYPE",
"url":20,
"doc":"typedef"
},
{
"ref":"ida_typeinf.SC_EXT",
"url":20,
"doc":"extern"
},
{
"ref":"ida_typeinf.SC_STAT",
"url":20,
"doc":"static"
},
{
"ref":"ida_typeinf.SC_REG",
"url":20,
"doc":"register"
},
{
"ref":"ida_typeinf.SC_AUTO",
"url":20,
"doc":"auto"
},
{
"ref":"ida_typeinf.SC_FRIEND",
"url":20,
"doc":"friend"
},
{
"ref":"ida_typeinf.SC_VIRT",
"url":20,
"doc":"virtual"
},
{
"ref":"ida_typeinf.HTI_CPP",
"url":20,
"doc":"C mode (not implemented)"
},
{
"ref":"ida_typeinf.HTI_INT",
"url":20,
"doc":"debug: print internal representation of types"
},
{
"ref":"ida_typeinf.HTI_EXT",
"url":20,
"doc":"debug: print external representation of types"
},
{
"ref":"ida_typeinf.HTI_LEX",
"url":20,
"doc":"debug: print tokens"
},
{
"ref":"ida_typeinf.HTI_UNP",
"url":20,
"doc":"debug: check the result by unpacking it"
},
{
"ref":"ida_typeinf.HTI_TST",
"url":20,
"doc":"test mode: discard the result"
},
{
"ref":"ida_typeinf.HTI_FIL",
"url":20,
"doc":"\"input\" is file name, otherwise \"input\" contains a C declaration"
},
{
"ref":"ida_typeinf.HTI_MAC",
"url":20,
"doc":"define macros from the base tils"
},
{
"ref":"ida_typeinf.HTI_NWR",
"url":20,
"doc":"no warning messages"
},
{
"ref":"ida_typeinf.HTI_NER",
"url":20,
"doc":"ignore all errors but display them"
},
{
"ref":"ida_typeinf.HTI_DCL",
"url":20,
"doc":"don't complain about redeclarations"
},
{
"ref":"ida_typeinf.HTI_NDC",
"url":20,
"doc":"don't decorate names"
},
{
"ref":"ida_typeinf.HTI_PAK",
"url":20,
"doc":"explicit structure pack value ( pragma pack)"
},
{
"ref":"ida_typeinf.HTI_PAK_SHIFT",
"url":20,
"doc":"shift for HTI_PAK. This field should be used if you want to remember an explicit pack value for each structure/union type. See HTI_PAK . definitions"
},
{
"ref":"ida_typeinf.HTI_PAKDEF",
"url":20,
"doc":"default pack value"
},
{
"ref":"ida_typeinf.HTI_PAK1",
"url":20,
"doc":" pragma pack(1)"
},
{
"ref":"ida_typeinf.HTI_PAK2",
"url":20,
"doc":" pragma pack(2)"
},
{
"ref":"ida_typeinf.HTI_PAK4",
"url":20,
"doc":" pragma pack(4)"
},
{
"ref":"ida_typeinf.HTI_PAK8",
"url":20,
"doc":" pragma pack(8)"
},
{
"ref":"ida_typeinf.HTI_PAK16",
"url":20,
"doc":" pragma pack(16)"
},
{
"ref":"ida_typeinf.HTI_HIGH",
"url":20,
"doc":"assume high level prototypes (with hidden args, etc)"
},
{
"ref":"ida_typeinf.HTI_LOWER",
"url":20,
"doc":"lower the function prototypes"
},
{
"ref":"ida_typeinf.HTI_RAWARGS",
"url":20,
"doc":"leave argument names unchanged (do not remove underscores)"
},
{
"ref":"ida_typeinf.HTI_RELAXED",
"url":20,
"doc":"accept references to unknown namespaces"
},
{
"ref":"ida_typeinf.HTI_NOBASE",
"url":20,
"doc":"do not inspect base tils"
},
{
"ref":"ida_typeinf.convert_pt_flags_to_hti",
"url":20,
"doc":"convert_pt_flags_to_hti(pt_flags) -> int Convert Type parsing flags to Type formatting flags. Type parsing flags lesser than 0x10 don't have stable meaning and will be ignored (more on these flags can be seen in idc.idc) @param pt_flags: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.parse_decl",
"url":20,
"doc":"parse_decl(out_tif, til, decl, pt_flags) -> str Parse ONE declaration. If the input string contains more than one declaration, the first complete type declaration (PT_TYP) or the last variable declaration (PT_VAR) will be used. @note: name & tif may be empty after the call! @param out_tif: (C : tinfo_t  ) type info @param til: (C : til_t  ) type library to use. may be nullptr @param decl: (C : const char  ) C declaration to parse @param pt_flags: (C : int) combination of Type parsing flags bits @retval true: ok @retval false: declaration is bad, the error message is displayed if !PT_SIL",
"func":1
},
{
"ref":"ida_typeinf.PT_SIL",
"url":20,
"doc":"silent, no messages"
},
{
"ref":"ida_typeinf.PT_NDC",
"url":20,
"doc":"don't decorate names"
},
{
"ref":"ida_typeinf.PT_TYP",
"url":20,
"doc":"return declared type information"
},
{
"ref":"ida_typeinf.PT_VAR",
"url":20,
"doc":"return declared object information"
},
{
"ref":"ida_typeinf.PT_PACKMASK",
"url":20,
"doc":"mask for pack alignment values"
},
{
"ref":"ida_typeinf.PT_HIGH",
"url":20,
"doc":"assume high level prototypes (with hidden args, etc)"
},
{
"ref":"ida_typeinf.PT_LOWER",
"url":20,
"doc":"lower the function prototypes"
},
{
"ref":"ida_typeinf.PT_REPLACE",
"url":20,
"doc":"replace the old type (used in idc)"
},
{
"ref":"ida_typeinf.PT_RAWARGS",
"url":20,
"doc":"leave argument names unchanged (do not remove underscores)"
},
{
"ref":"ida_typeinf.PT_RELAXED",
"url":20,
"doc":"accept references to unknown namespaces"
},
{
"ref":"ida_typeinf.PT_EMPTY",
"url":20,
"doc":"accept empty decl"
},
{
"ref":"ida_typeinf.parse_decls",
"url":20,
"doc":"parse_decls(til, input, printer, hti_flags) -> int Parse many declarations and store them in a til. If there are any errors, they will be printed using 'printer'. This function uses default include path and predefined macros from the database settings. It always uses the HTI_DCL bit. @param til: (C : til_t  ) type library to store the result @param input: (C : const char  ) input string or file name (see hti_flags) @param printer: (C : printer_t  ) function to output error messages (use msg or nullptr or your own callback) @param hti_flags: (C : int) combination of Type formatting flags @return: number of errors, 0 means ok.",
"func":1
},
{
"ref":"ida_typeinf.print_type",
"url":20,
"doc":"print_type(ea, prtype_flags) -> str Get type declaration for the specified address. @param ea: (C : ea_t) address @param prtype_flags: (C : int) combination of Type printing flags @return: success",
"func":1
},
{
"ref":"ida_typeinf.PRTYPE_1LINE",
"url":20,
"doc":"print to one line"
},
{
"ref":"ida_typeinf.PRTYPE_MULTI",
"url":20,
"doc":"print to many lines"
},
{
"ref":"ida_typeinf.PRTYPE_TYPE",
"url":20,
"doc":"print type declaration (not variable declaration)"
},
{
"ref":"ida_typeinf.PRTYPE_PRAGMA",
"url":20,
"doc":"print pragmas for alignment"
},
{
"ref":"ida_typeinf.PRTYPE_SEMI",
"url":20,
"doc":"append ; to the end"
},
{
"ref":"ida_typeinf.PRTYPE_CPP",
"url":20,
"doc":"use c name (only for print_type( "
},
{
"ref":"ida_typeinf.PRTYPE_DEF",
"url":20,
"doc":"tinfo_t: print definition, if available"
},
{
"ref":"ida_typeinf.PRTYPE_NOARGS",
"url":20,
"doc":"tinfo_t: do not print function argument names"
},
{
"ref":"ida_typeinf.PRTYPE_NOARRS",
"url":20,
"doc":"tinfo_t: print arguments with FAI_ARRAY as pointers"
},
{
"ref":"ida_typeinf.PRTYPE_NORES",
"url":20,
"doc":"tinfo_t: never resolve types (meaningful with PRTYPE_DEF)"
},
{
"ref":"ida_typeinf.PRTYPE_RESTORE",
"url":20,
"doc":"tinfo_t: print restored types for FAI_ARRAY and FAI_STRUCT"
},
{
"ref":"ida_typeinf.PRTYPE_NOREGEX",
"url":20,
"doc":"do not apply regular expressions to beautify name"
},
{
"ref":"ida_typeinf.PRTYPE_COLORED",
"url":20,
"doc":"add color tag COLOR_SYMBOL for any parentheses, commas and colons"
},
{
"ref":"ida_typeinf.PRTYPE_METHODS",
"url":20,
"doc":"tinfo_t: print udt methods"
},
{
"ref":"ida_typeinf.PRTYPE_1LINCMT",
"url":20,
"doc":"print comments even in the one line mode"
},
{
"ref":"ida_typeinf.PRTYPE_HEADER",
"url":20,
"doc":"print only type header (only for definitions)"
},
{
"ref":"ida_typeinf.PRTYPE_OFFSETS",
"url":20,
"doc":"print udt member offsets"
},
{
"ref":"ida_typeinf.PRTYPE_MAXSTR",
"url":20,
"doc":"limit the output length to 1024 bytes (the output may be slightly longer)"
},
{
"ref":"ida_typeinf.PRTYPE_TAIL",
"url":20,
"doc":"print only the definition tail (only for definitions, exclusive with PRTYPE_HEADER)"
},
{
"ref":"ida_typeinf.PRTYPE_ARGLOCS",
"url":20,
"doc":"print function arglocs (not only for usercall)"
},
{
"ref":"ida_typeinf.NTF_TYPE",
"url":20,
"doc":"type name"
},
{
"ref":"ida_typeinf.NTF_SYMU",
"url":20,
"doc":"symbol, name is unmangled ('func')"
},
{
"ref":"ida_typeinf.NTF_SYMM",
"url":20,
"doc":"symbol, name is mangled ('_func'); only one of NTF_TYPE and NTF_SYMU, NTF_SYMM can be used"
},
{
"ref":"ida_typeinf.NTF_NOBASE",
"url":20,
"doc":"don't inspect base tils (for get_named_type)"
},
{
"ref":"ida_typeinf.NTF_REPLACE",
"url":20,
"doc":"replace original type (for set_named_type)"
},
{
"ref":"ida_typeinf.NTF_UMANGLED",
"url":20,
"doc":"name is unmangled (don't use this flag)"
},
{
"ref":"ida_typeinf.NTF_NOCUR",
"url":20,
"doc":"don't inspect current til file (for get_named_type)"
},
{
"ref":"ida_typeinf.NTF_64BIT",
"url":20,
"doc":"value is 64bit"
},
{
"ref":"ida_typeinf.NTF_FIXNAME",
"url":20,
"doc":"force-validate the name of the type when setting (set_named_type, set_numbered_type only)"
},
{
"ref":"ida_typeinf.NTF_IDBENC",
"url":20,
"doc":"the name is given in the IDB encoding; non-ASCII bytes will be decoded accordingly (set_named_type, set_numbered_type only)"
},
{
"ref":"ida_typeinf.NTF_CHKSYNC",
"url":20,
"doc":"check that synchronization to IDB passed OK (set_numbered_type, set_named_type)"
},
{
"ref":"ida_typeinf.NTF_NO_NAMECHK",
"url":20,
"doc":"do not validate type name (set_numbered_type, set_named_type)"
},
{
"ref":"ida_typeinf.NTF_COPY",
"url":20,
"doc":"save a new type definition, not a typeref (tinfo_t set_numbered_type, tinfo_t set_named_type)"
},
{
"ref":"ida_typeinf.TERR_OK",
"url":20,
"doc":"ok"
},
{
"ref":"ida_typeinf.TERR_SAVE_ERROR",
"url":20,
"doc":"failed to save"
},
{
"ref":"ida_typeinf.TERR_SERIALIZE",
"url":20,
"doc":"failed to serialize"
},
{
"ref":"ida_typeinf.TERR_BAD_NAME",
"url":20,
"doc":"name s is not acceptable"
},
{
"ref":"ida_typeinf.TERR_BAD_ARG",
"url":20,
"doc":"bad argument"
},
{
"ref":"ida_typeinf.TERR_BAD_TYPE",
"url":20,
"doc":"bad type"
},
{
"ref":"ida_typeinf.TERR_BAD_SIZE",
"url":20,
"doc":"bad size d"
},
{
"ref":"ida_typeinf.TERR_BAD_INDEX",
"url":20,
"doc":"bad index d"
},
{
"ref":"ida_typeinf.TERR_BAD_ARRAY",
"url":20,
"doc":"arrays are forbidden as function arguments"
},
{
"ref":"ida_typeinf.TERR_BAD_BF",
"url":20,
"doc":"bitfields are forbidden as function arguments"
},
{
"ref":"ida_typeinf.TERR_BAD_OFFSET",
"url":20,
"doc":"bad member offset s"
},
{
"ref":"ida_typeinf.TERR_BAD_UNIVAR",
"url":20,
"doc":"unions cannot have variable sized members"
},
{
"ref":"ida_typeinf.TERR_BAD_VARLAST",
"url":20,
"doc":"variable sized member must be the last member in the structure"
},
{
"ref":"ida_typeinf.TERR_OVERLAP",
"url":20,
"doc":"the member overlaps with other members that cannot be deleted"
},
{
"ref":"ida_typeinf.TERR_BAD_SUBTYPE",
"url":20,
"doc":"recursive structure nesting is forbidden"
},
{
"ref":"ida_typeinf.TERR_BAD_VALUE",
"url":20,
"doc":"value 0xI64X is not acceptable"
},
{
"ref":"ida_typeinf.TERR_NO_BMASK",
"url":20,
"doc":"bitmask 0xI64X is not found"
},
{
"ref":"ida_typeinf.TERR_BAD_BMASK",
"url":20,
"doc":"Bad enum member mask 0xI64X. The specified mask should not intersect with any existing mask in the enum. Zero masks are prohibited too."
},
{
"ref":"ida_typeinf.TERR_BAD_MSKVAL",
"url":20,
"doc":"bad bmask and value combination (value=0xI64X; bitmask 0xI64X)"
},
{
"ref":"ida_typeinf.TERR_BAD_REPR",
"url":20,
"doc":"bad or incompatible field representation"
},
{
"ref":"ida_typeinf.TERR_GRP_NOEMPTY",
"url":20,
"doc":"could not delete group mask for not empty group 0xI64X"
},
{
"ref":"ida_typeinf.TERR_DUPNAME",
"url":20,
"doc":"duplicate name s"
},
{
"ref":"ida_typeinf.TERR_UNION_BF",
"url":20,
"doc":"unions cannot have bitfields"
},
{
"ref":"ida_typeinf.TERR_BAD_TAH",
"url":20,
"doc":"bad bits in the type attributes (TAH bits)"
},
{
"ref":"ida_typeinf.TERR_BAD_BASE",
"url":20,
"doc":"bad base class"
},
{
"ref":"ida_typeinf.TERR_BAD_GAP",
"url":20,
"doc":"bad gap"
},
{
"ref":"ida_typeinf.TERR_NESTED",
"url":20,
"doc":"recursive structure nesting is forbidden"
},
{
"ref":"ida_typeinf.TERR_NOT_COMPAT",
"url":20,
"doc":"the new type is not compatible with the old type"
},
{
"ref":"ida_typeinf.TERR_BAD_LAYOUT",
"url":20,
"doc":"failed to calculate the structure/union layout"
},
{
"ref":"ida_typeinf.TERR_BAD_GROUPS",
"url":20,
"doc":"bad group sizes for bitmask enum"
},
{
"ref":"ida_typeinf.TERR_BAD_SERIAL",
"url":20,
"doc":"enum value has too many serials"
},
{
"ref":"ida_typeinf.TERR_ALIEN_NAME",
"url":20,
"doc":"enum member name is used in another enum"
},
{
"ref":"ida_typeinf.TERR_STOCK",
"url":20,
"doc":"stock type info cannot be modified"
},
{
"ref":"ida_typeinf.TERR_ENUM_SIZE",
"url":20,
"doc":"bad enum size"
},
{
"ref":"ida_typeinf.TERR_NOT_IMPL",
"url":20,
"doc":"not implemented"
},
{
"ref":"ida_typeinf.TERR_TYPE_WORSE",
"url":20,
"doc":"the new type is worse than the old type"
},
{
"ref":"ida_typeinf.TERR_BAD_FX_SIZE",
"url":20,
"doc":"cannot extend struct beyond fixed size"
},
{
"ref":"ida_typeinf.TERR_STRUCT_SIZE",
"url":20,
"doc":"bad fixed structure size"
},
{
"ref":"ida_typeinf.tinfo_errstr",
"url":20,
"doc":"tinfo_errstr(code) -> char const  Helper function to convert an error code into a printable string. Additional arguments are handled using the functions from err.h @param code: (C : tinfo_code_t) enum tinfo_code_t",
"func":1
},
{
"ref":"ida_typeinf.del_named_type",
"url":20,
"doc":"del_named_type(ti, name, ntf_flags) -> bool Delete information about a symbol. @param ti: (C : til_t  ) type library @param name: (C : const char  ) name of symbol @param ntf_flags: (C : int) combination of Flags for named types @return: success",
"func":1
},
{
"ref":"ida_typeinf.first_named_type",
"url":20,
"doc":"first_named_type(ti, ntf_flags) -> char const  Enumerate types. @param ti: (C : const til_t  ) type library. nullptr means the local type library for the current database. @param ntf_flags: (C : int) combination of Flags for named types @return: Type or symbol names, depending of ntf_flags. Returns mangled names. Never returns anonymous types. To include them, enumerate types by ordinals.",
"func":1
},
{
"ref":"ida_typeinf.next_named_type",
"url":20,
"doc":"next_named_type(ti, name, ntf_flags) -> char const  Enumerate types. @param ti: (C : const til_t  ) type library. nullptr means the local type library for the current database. @param name: (C : const char  ) the current name. the name that follows this one will be returned. @param ntf_flags: (C : int) combination of Flags for named types @return: Type or symbol names, depending of ntf_flags. Returns mangled names. Never returns anonymous types. To include them, enumerate types by ordinals.",
"func":1
},
{
"ref":"ida_typeinf.copy_named_type",
"url":20,
"doc":"copy_named_type(dsttil, srctil, name) -> uint32 Copy a named type from one til to another. This function will copy the specified type and all dependent types from the source type library to the destination library. @param dsttil: (C : til_t  ) Destination til. It must have original types enabled @param srctil: (C : const til_t  ) Source til. @param name: (C : const char  ) name of the type to copy @return: ordinal number of the copied type. 0 means error",
"func":1
},
{
"ref":"ida_typeinf.gen_decorate_name",
"url":20,
"doc":"gen_decorate_name(name, mangle, cc, type) -> str Generic function for decorate_name() (may be used in IDP modules) @param name: (C : const char  ) char const  @param mangle: (C : bool) @param cc: (C : cm_t) @param type: (C : const tinfo_t  ) tinfo_t const  ",
"func":1
},
{
"ref":"ida_typeinf.calc_c_cpp_name",
"url":20,
"doc":"calc_c_cpp_name(name, type, ccn_flags) -> str Get C or C form of the name. @param name: (C : const char  ) original (mangled or decorated) name @param type: (C : const tinfo_t  ) name type if known, otherwise nullptr @param ccn_flags: (C : int) one of C/C naming flags",
"func":1
},
{
"ref":"ida_typeinf.enable_numbered_types",
"url":20,
"doc":"enable_numbered_types(ti, enable) -> bool Enable the use of numbered types in til. Currently it is impossible to disable numbered types once they are enabled @param ti: (C : til_t  ) @param enable: (C : bool)",
"func":1
},
{
"ref":"ida_typeinf.alloc_type_ordinals",
"url":20,
"doc":"alloc_type_ordinals(ti, qty) -> uint32 Allocate a range of ordinal numbers for new types. @param ti: (C : til_t  ) type library @param qty: (C : int) number of ordinals to allocate @return: the first ordinal. 0 means failure.",
"func":1
},
{
"ref":"ida_typeinf.alloc_type_ordinal",
"url":20,
"doc":"alloc_type_ordinal(ti) -> uint32 alloc_type_ordinals(ti, 1) @param ti: (C : til_t  )",
"func":1
},
{
"ref":"ida_typeinf.get_ordinal_limit",
"url":20,
"doc":"get_ordinal_limit(ti=None) -> uint32 Get number of allocated ordinals + 1. If there are no allocated ordinals, return 0. To enumerate all ordinals, use: for ( uint32 i = 1; i < limit;  i ) @param ti: (C : const til_t  ) type library; nullptr means the local types for the current database. @return: uint32(-1) if ordinals have not been enabled for the til. For local types (idati), ordinals are always enabled.",
"func":1
},
{
"ref":"ida_typeinf.get_ordinal_count",
"url":20,
"doc":"get_ordinal_count(ti=None) -> uint32 Get number of allocated ordinals. @param ti: (C : const til_t  ) type library; nullptr means the local types for the current database. @return: 0 if ordinals have not been enabled for the til.",
"func":1
},
{
"ref":"ida_typeinf.del_numbered_type",
"url":20,
"doc":"del_numbered_type(ti, ordinal) -> bool Delete a numbered type. @param ti: (C : til_t  ) @param ordinal: (C : uint32)",
"func":1
},
{
"ref":"ida_typeinf.set_type_alias",
"url":20,
"doc":"set_type_alias(ti, src_ordinal, dst_ordinal) -> bool Create a type alias. Redirects all references to source type to the destination type. This is equivalent to instantaneous replacement all references to srctype by dsttype. @param ti: (C : til_t  ) @param src_ordinal: (C : uint32) @param dst_ordinal: (C : uint32)",
"func":1
},
{
"ref":"ida_typeinf.get_alias_target",
"url":20,
"doc":"get_alias_target(ti, ordinal) -> uint32 Find the final alias destination. If the ordinal has not been aliased, return the specified ordinal itself If failed, returns 0. @param ti: (C : const til_t  ) til_t const  @param ordinal: (C : uint32)",
"func":1
},
{
"ref":"ida_typeinf.get_type_ordinal",
"url":20,
"doc":"get_type_ordinal(ti, name) -> int32 Get type ordinal by its name. @param ti: (C : const til_t  ) til_t const  @param name: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_typeinf.get_numbered_type_name",
"url":20,
"doc":"get_numbered_type_name(ti, ordinal) -> char const  Get type name (if exists) by its ordinal. If the type is anonymous, returns  . If failed, returns nullptr @param ti: (C : const til_t  ) til_t const  @param ordinal: (C : uint32)",
"func":1
},
{
"ref":"ida_typeinf.create_numbered_type_name",
"url":20,
"doc":"create_numbered_type_name(ord) -> str Create anonymous name for numbered type. This name can be used to reference a numbered type by its ordinal Ordinal names have the following format: ' ' + set_de(ord) Returns: -1 if error, otherwise the name length @param ord: (C : int32)",
"func":1
},
{
"ref":"ida_typeinf.is_ordinal_name",
"url":20,
"doc":"is_ordinal_name(name, ord=None) -> bool Check if the name is an ordinal name. Ordinal names have the following format: ' ' + set_de(ord) @param name: (C : const char  ) char const  @param ord: (C : uint32  )",
"func":1
},
{
"ref":"ida_typeinf.is_type_choosable",
"url":20,
"doc":"is_type_choosable(ti, ordinal) -> bool Check if a struct/union type is choosable @param ti: (C : const til_t  ) type library @param ordinal: (C : uint32) ordinal number of a UDT type",
"func":1
},
{
"ref":"ida_typeinf.set_type_choosable",
"url":20,
"doc":"set_type_choosable(ti, ordinal, value) Enable/disable 'choosability' flag for a struct/union type @param ti: (C : til_t  ) type library @param ordinal: (C : uint32) ordinal number of a UDT type @param value: (C : bool) flag value",
"func":1
},
{
"ref":"ida_typeinf.get_vftable_ea",
"url":20,
"doc":"get_vftable_ea(ordinal) -> ea_t Get address of a virtual function table. @param ordinal: (C : uint32) ordinal number of a vftable type. @return: address of the corresponding virtual function table in the current database.",
"func":1
},
{
"ref":"ida_typeinf.get_vftable_ordinal",
"url":20,
"doc":"get_vftable_ordinal(vftable_ea) -> uint32 Get ordinal number of the virtual function table. @param vftable_ea: (C : ea_t) address of a virtual function table. @return: ordinal number of the corresponding vftable type. 0 - failure.",
"func":1
},
{
"ref":"ida_typeinf.set_vftable_ea",
"url":20,
"doc":"set_vftable_ea(ordinal, vftable_ea) -> bool Set the address of a vftable instance for a vftable type. @param ordinal: (C : uint32) ordinal number of the corresponding vftable type. @param vftable_ea: (C : ea_t) address of a virtual function table. @return: success",
"func":1
},
{
"ref":"ida_typeinf.del_vftable_ea",
"url":20,
"doc":"del_vftable_ea(ordinal) -> bool Delete the address of a vftable instance for a vftable type. @param ordinal: (C : uint32) ordinal number of a vftable type. @return: success",
"func":1
},
{
"ref":"ida_typeinf.deref_ptr",
"url":20,
"doc":"deref_ptr(ptr_ea, tif, closure_obj=None) -> bool Dereference a pointer. @param ptr_ea: (C : ea_t  ) in/out parameter  in: address of the pointer  out: the pointed address @param tif: (C : const tinfo_t &) type of the pointer @param closure_obj: (C : ea_t  ) closure object (not used yet) @return: success",
"func":1
},
{
"ref":"ida_typeinf.add_til",
"url":20,
"doc":"add_til(name, flags) -> int Load a til file and add it the database type libraries list. IDA will also apply function prototypes for matching function names. @param name: (C : const char  ) til name @param flags: (C : int) combination of Load TIL flags @return: one of Load TIL result codes",
"func":1
},
{
"ref":"ida_typeinf.ADDTIL_DEFAULT",
"url":20,
"doc":"default behavior"
},
{
"ref":"ida_typeinf.ADDTIL_INCOMP",
"url":20,
"doc":"load incompatible tils"
},
{
"ref":"ida_typeinf.ADDTIL_SILENT",
"url":20,
"doc":"do not ask any questions"
},
{
"ref":"ida_typeinf.ADDTIL_FAILED",
"url":20,
"doc":"something bad, the warning is displayed"
},
{
"ref":"ida_typeinf.ADDTIL_OK",
"url":20,
"doc":"ok, til is loaded"
},
{
"ref":"ida_typeinf.ADDTIL_COMP",
"url":20,
"doc":"ok, but til is not compatible with the current compiler"
},
{
"ref":"ida_typeinf.ADDTIL_ABORTED",
"url":20,
"doc":"til was not loaded (incompatible til rejected by user)"
},
{
"ref":"ida_typeinf.del_til",
"url":20,
"doc":"del_til(name) -> bool Unload a til file. @param name: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_typeinf.apply_named_type",
"url":20,
"doc":"apply_named_type(ea, name) -> bool Apply the specified named type to the address. @param ea: (C : ea_t) linear address @param name: (C : const char  ) the type name, e.g. \"FILE\" @return: success",
"func":1
},
{
"ref":"ida_typeinf.apply_tinfo",
"url":20,
"doc":"apply_tinfo(ea, tif, flags) -> bool Apply the specified type to the specified address. This function sets the type and tries to convert the item at the specified address to conform the type. @param ea: (C : ea_t) linear address @param tif: (C : const tinfo_t &) type string in internal format @param flags: (C : uint32) combination of Apply tinfo flags @return: success",
"func":1
},
{
"ref":"ida_typeinf.TINFO_GUESSED",
"url":20,
"doc":"this is a guessed type"
},
{
"ref":"ida_typeinf.TINFO_DEFINITE",
"url":20,
"doc":"this is a definite type"
},
{
"ref":"ida_typeinf.TINFO_DELAYFUNC",
"url":20,
"doc":"if type is a function and no function exists at ea, schedule its creation and argument renaming to auto-analysis, otherwise try to create it immediately"
},
{
"ref":"ida_typeinf.TINFO_STRICT",
"url":20,
"doc":"never convert given type to another one before applying"
},
{
"ref":"ida_typeinf.apply_cdecl",
"url":20,
"doc":"apply_cdecl(til, ea, decl, flags=0) -> bool Apply the specified type to the address. This function parses the declaration and calls apply_tinfo() @param til: (C : til_t  ) type library @param ea: (C : ea_t) linear address @param decl: (C : const char  ) type declaration in C form @param flags: (C : int) flags to pass to apply_tinfo (TINFO_DEFINITE is always passed) @return: success",
"func":1
},
{
"ref":"ida_typeinf.apply_callee_tinfo",
"url":20,
"doc":"apply_callee_tinfo(caller, tif) -> bool Apply the type of the called function to the calling instruction. This function will append parameter comments and rename the local variables of the calling function. It also stores information about the instructions that initialize call arguments in the database. Use get_arg_addrs() to retrieve it if necessary. Alternatively it is possible to hook to processor_t arg_addrs_ready event. @param caller: (C : ea_t) linear address of the calling instruction. must belong to a function. @param tif: (C : const tinfo_t &) type info @return: success",
"func":1
},
{
"ref":"ida_typeinf.apply_once_tinfo_and_name",
"url":20,
"doc":"apply_once_tinfo_and_name(dea, tif, name) -> bool Apply the specified type and name to the address. This function checks if the address already has a type. If the old type does not exist or the new type is 'better' than the old type, then the new type will be applied. A type is considered better if it has more information (e.g. BTMT_STRUCT is better than BT_INT). The same logic is with the name: if the address already have a meaningful name, it will be preserved. Only if the old name does not exist or it is a dummy name like byte_123, it will be replaced by the new name. @param dea: (C : ea_t) linear address @param tif: (C : const tinfo_t &) type string in the internal format @param name: (C : const char  ) new name for the address @return: success",
"func":1
},
{
"ref":"ida_typeinf.guess_tinfo",
"url":20,
"doc":"guess_tinfo(out, id) -> int Generate a type information about the id from the disassembly. id can be a structure/union/enum id or an address. @param out: (C : tinfo_t  ) @param id: (C : tid_t) @return: one of Guess tinfo codes",
"func":1
},
{
"ref":"ida_typeinf.GUESS_FUNC_FAILED",
"url":20,
"doc":"couldn't guess the function type"
},
{
"ref":"ida_typeinf.GUESS_FUNC_TRIVIAL",
"url":20,
"doc":"the function type doesn't have interesting info"
},
{
"ref":"ida_typeinf.GUESS_FUNC_OK",
"url":20,
"doc":"ok, some non-trivial information is gathered"
},
{
"ref":"ida_typeinf.set_c_header_path",
"url":20,
"doc":"set_c_header_path(incdir) Set include directory path the target compiler. @param incdir: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_typeinf.get_c_header_path",
"url":20,
"doc":"get_c_header_path() -> str Get the include directory path of the target compiler.",
"func":1
},
{
"ref":"ida_typeinf.set_c_macros",
"url":20,
"doc":"set_c_macros(macros) Set predefined macros for the target compiler. @param macros: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_typeinf.get_c_macros",
"url":20,
"doc":"get_c_macros() -> str Get predefined macros for the target compiler.",
"func":1
},
{
"ref":"ida_typeinf.get_idati",
"url":20,
"doc":"get_idati() -> til_t Pointer to the local type library - this til is private for each IDB file Functions that accept til_t default to  idati when is nullptr provided.",
"func":1
},
{
"ref":"ida_typeinf.get_idainfo_by_type",
"url":20,
"doc":"get_idainfo_by_type(tif) -> bool Extract information from a tinfo_t. @param tif: (C : const tinfo_t &) the type to inspect",
"func":1
},
{
"ref":"ida_typeinf.get_tinfo_by_flags",
"url":20,
"doc":"get_tinfo_by_flags(out, flags) -> bool Get tinfo object that corresponds to data flags @param out: (C : tinfo_t  ) type info @param flags: (C : flags64_t) simple flags (byte, word,  ., zword)",
"func":1
},
{
"ref":"ida_typeinf.STI_PCHAR",
"url":20,
"doc":"char  "
},
{
"ref":"ida_typeinf.STI_PUCHAR",
"url":20,
"doc":"uint8  "
},
{
"ref":"ida_typeinf.STI_PCCHAR",
"url":20,
"doc":"const char  "
},
{
"ref":"ida_typeinf.STI_PCUCHAR",
"url":20,
"doc":"const uint8  "
},
{
"ref":"ida_typeinf.STI_PBYTE",
"url":20,
"doc":"_BYTE  "
},
{
"ref":"ida_typeinf.STI_PINT",
"url":20,
"doc":"int  "
},
{
"ref":"ida_typeinf.STI_PUINT",
"url":20,
"doc":"unsigned int  "
},
{
"ref":"ida_typeinf.STI_PVOID",
"url":20,
"doc":"void  "
},
{
"ref":"ida_typeinf.STI_PPVOID",
"url":20,
"doc":"void  "
},
{
"ref":"ida_typeinf.STI_PCVOID",
"url":20,
"doc":"const void  "
},
{
"ref":"ida_typeinf.STI_ACHAR",
"url":20,
"doc":"char[]"
},
{
"ref":"ida_typeinf.STI_AUCHAR",
"url":20,
"doc":"uint8[]"
},
{
"ref":"ida_typeinf.STI_ACCHAR",
"url":20,
"doc":"const char[]"
},
{
"ref":"ida_typeinf.STI_ACUCHAR",
"url":20,
"doc":"const uint8[]"
},
{
"ref":"ida_typeinf.STI_FPURGING",
"url":20,
"doc":"void __userpurge(int)"
},
{
"ref":"ida_typeinf.STI_FDELOP",
"url":20,
"doc":"void __cdecl(void  )"
},
{
"ref":"ida_typeinf.STI_MSGSEND",
"url":20,
"doc":"void  (void  , const char  ,  .)"
},
{
"ref":"ida_typeinf.STI_AEABI_LCMP",
"url":20,
"doc":"int __fastcall __pure(int64 x, int64 y)"
},
{
"ref":"ida_typeinf.STI_AEABI_ULCMP",
"url":20,
"doc":"int __fastcall __pure(uint64 x, uint64 y)"
},
{
"ref":"ida_typeinf.STI_DONT_USE",
"url":20,
"doc":"unused stock type id; should not be used"
},
{
"ref":"ida_typeinf.STI_SIZE_T",
"url":20,
"doc":"size_t"
},
{
"ref":"ida_typeinf.STI_SSIZE_T",
"url":20,
"doc":"ssize_t"
},
{
"ref":"ida_typeinf.STI_AEABI_MEMCPY",
"url":20,
"doc":"void __fastcall(void  , const void  , size_t)"
},
{
"ref":"ida_typeinf.STI_AEABI_MEMSET",
"url":20,
"doc":"void __fastcall(void  , size_t, int)"
},
{
"ref":"ida_typeinf.STI_AEABI_MEMCLR",
"url":20,
"doc":"void __fastcall(void  , size_t)"
},
{
"ref":"ida_typeinf.STI_RTC_CHECK_2",
"url":20,
"doc":"int16 __fastcall(int16 x)"
},
{
"ref":"ida_typeinf.STI_RTC_CHECK_4",
"url":20,
"doc":"int32 __fastcall(int32 x)"
},
{
"ref":"ida_typeinf.STI_RTC_CHECK_8",
"url":20,
"doc":"int64 __fastcall(int64 x)"
},
{
"ref":"ida_typeinf.STI_COMPLEX64",
"url":20,
"doc":"struct complex64_t { float real, imag; }"
},
{
"ref":"ida_typeinf.STI_COMPLEX128",
"url":20,
"doc":"struct complex128_t { double real, imag; }"
},
{
"ref":"ida_typeinf.STI_PUNKNOWN",
"url":20,
"doc":"_UNKNOWN  "
},
{
"ref":"ida_typeinf.ETF_NO_SAVE",
"url":20,
"doc":"don't save to til (normally typerefs are saved to til) A call with ETF_NO_SAVE must be followed by a call without it. Otherwise there may be inconsistencies between the memory and the type library."
},
{
"ref":"ida_typeinf.ETF_NO_LAYOUT",
"url":20,
"doc":"don't calc type layout before editing"
},
{
"ref":"ida_typeinf.ETF_MAY_DESTROY",
"url":20,
"doc":"may destroy other members"
},
{
"ref":"ida_typeinf.ETF_COMPATIBLE",
"url":20,
"doc":"new type must be compatible with the old"
},
{
"ref":"ida_typeinf.ETF_FUNCARG",
"url":20,
"doc":"udm - member is a function argument (cannot create arrays)"
},
{
"ref":"ida_typeinf.ETF_FORCENAME",
"url":20,
"doc":"anyway use name, see below for more usage description"
},
{
"ref":"ida_typeinf.ETF_AUTONAME",
"url":20,
"doc":"udm - generate a member name if was not specified (add_udm, set_udm_type)"
},
{
"ref":"ida_typeinf.ETF_BYTIL",
"url":20,
"doc":"udm - new type was created by the type subsystem"
},
{
"ref":"ida_typeinf.ETF_NO_ARRAY",
"url":20,
"doc":"add_udm, set_udm_type - do not convert type to an array on the size mismatch"
},
{
"ref":"ida_typeinf.GTD_CALC_LAYOUT",
"url":20,
"doc":"calculate udt layout"
},
{
"ref":"ida_typeinf.GTD_NO_LAYOUT",
"url":20,
"doc":"don't calculate udt layout please note that udt layout may have been calculated earlier"
},
{
"ref":"ida_typeinf.GTD_DEL_BITFLDS",
"url":20,
"doc":"delete udt bitfields"
},
{
"ref":"ida_typeinf.GTD_CALC_ARGLOCS",
"url":20,
"doc":"calculate func arg locations"
},
{
"ref":"ida_typeinf.GTD_NO_ARGLOCS",
"url":20,
"doc":"don't calculate func arg locations please note that the locations may have been calculated earlier"
},
{
"ref":"ida_typeinf.GTS_NESTED",
"url":20,
"doc":"nested type (embedded into a udt)"
},
{
"ref":"ida_typeinf.GTS_BASECLASS",
"url":20,
"doc":"is baseclass of a udt"
},
{
"ref":"ida_typeinf.SUDT_SORT",
"url":20,
"doc":"fields are not sorted by offset, sort them first"
},
{
"ref":"ida_typeinf.SUDT_ALIGN",
"url":20,
"doc":"recalculate field alignments, struct packing, etc to match the offsets and size info"
},
{
"ref":"ida_typeinf.SUDT_GAPS",
"url":20,
"doc":"allow to fill gaps with additional members (_BYTE[])"
},
{
"ref":"ida_typeinf.SUDT_UNEX",
"url":20,
"doc":"references to nonexistent member types are acceptable; in this case it is better to set the corresponding udm_t fda field to the type alignment. If this field is not set, ida will try to guess the alignment."
},
{
"ref":"ida_typeinf.SUDT_FAST",
"url":20,
"doc":"serialize without verifying offsets and alignments"
},
{
"ref":"ida_typeinf.SUDT_CONST",
"url":20,
"doc":"only for serialize_udt: make type const"
},
{
"ref":"ida_typeinf.SUDT_VOLATILE",
"url":20,
"doc":"only for serialize_udt: make type volatile"
},
{
"ref":"ida_typeinf.SUDT_TRUNC",
"url":20,
"doc":"serialize: truncate useless strings from fields, fldcmts"
},
{
"ref":"ida_typeinf.SUDT_SERDEF",
"url":20,
"doc":"serialize: if a typeref, serialize its definition"
},
{
"ref":"ida_typeinf.copy_tinfo_t",
"url":20,
"doc":"copy_tinfo_t(_this, r) @param _this: tinfo_t  @param r: tinfo_t const &",
"func":1
},
{
"ref":"ida_typeinf.detach_tinfo_t",
"url":20,
"doc":"detach_tinfo_t(_this) -> bool @param _this: tinfo_t  ",
"func":1
},
{
"ref":"ida_typeinf.clear_tinfo_t",
"url":20,
"doc":"clear_tinfo_t(_this) @param _this: tinfo_t  ",
"func":1
},
{
"ref":"ida_typeinf.create_tinfo",
"url":20,
"doc":"create_tinfo(_this, bt, bt2, ptr) -> bool @param _this: tinfo_t  @param bt: type_t @param bt2: type_t @param ptr: void  ",
"func":1
},
{
"ref":"ida_typeinf.verify_tinfo",
"url":20,
"doc":"verify_tinfo(typid) -> int @param typid: typid_t",
"func":1
},
{
"ref":"ida_typeinf.get_tinfo_details",
"url":20,
"doc":"get_tinfo_details(typid, bt2, buf) -> bool @param typid: typid_t @param bt2: type_t @param buf: void  ",
"func":1
},
{
"ref":"ida_typeinf.get_tinfo_size",
"url":20,
"doc":"get_tinfo_size(p_effalign, typid, gts_code) -> size_t @param p_effalign: uint32  @param typid: typid_t @param gts_code: int",
"func":1
},
{
"ref":"ida_typeinf.get_tinfo_pdata",
"url":20,
"doc":"get_tinfo_pdata(outptr, typid, what) -> size_t @param outptr: void  @param typid: typid_t @param what: int",
"func":1
},
{
"ref":"ida_typeinf.get_tinfo_property",
"url":20,
"doc":"get_tinfo_property(typid, gta_prop) -> size_t @param typid: typid_t @param gta_prop: int",
"func":1
},
{
"ref":"ida_typeinf.get_tinfo_property4",
"url":20,
"doc":"get_tinfo_property4(typid, gta_prop, p1, p2, p3, p4) -> size_t @param typid: typid_t @param gta_prop: int @param p1: size_t @param p2: size_t @param p3: size_t @param p4: size_t",
"func":1
},
{
"ref":"ida_typeinf.set_tinfo_property",
"url":20,
"doc":"set_tinfo_property(tif, sta_prop, x) -> size_t @param tif: tinfo_t  @param sta_prop: int @param x: size_t",
"func":1
},
{
"ref":"ida_typeinf.set_tinfo_property4",
"url":20,
"doc":"set_tinfo_property4(tif, sta_prop, p1, p2, p3, p4) -> size_t @param tif: tinfo_t  @param sta_prop: int @param p1: size_t @param p2: size_t @param p3: size_t @param p4: size_t",
"func":1
},
{
"ref":"ida_typeinf.serialize_tinfo",
"url":20,
"doc":"serialize_tinfo(type, fields, fldcmts, tif, sudt_flags) -> bool @param type: qtype  @param fields: qtype  @param fldcmts: qtype  @param tif: tinfo_t const  @param sudt_flags: int",
"func":1
},
{
"ref":"ida_typeinf.find_tinfo_udt_member",
"url":20,
"doc":"find_tinfo_udt_member(udm, typid, strmem_flags) -> int @param udm: udm_t  @param typid: typid_t @param strmem_flags: int",
"func":1
},
{
"ref":"ida_typeinf.print_tinfo",
"url":20,
"doc":"print_tinfo(prefix, indent, cmtindent, flags, tif, name, cmt) -> str @param prefix: char const  @param indent: int @param cmtindent: int @param flags: int @param tif: tinfo_t const  @param name: char const  @param cmt: char const  ",
"func":1
},
{
"ref":"ida_typeinf.dstr_tinfo",
"url":20,
"doc":"dstr_tinfo(tif) -> char const  @param tif: tinfo_t const  ",
"func":1
},
{
"ref":"ida_typeinf.visit_subtypes",
"url":20,
"doc":"visit_subtypes(visitor, out, tif, name, cmt) -> int @param visitor: tinfo_visitor_t  @param out: type_mods_t  @param tif: tinfo_t const & @param name: char const  @param cmt: char const  ",
"func":1
},
{
"ref":"ida_typeinf.compare_tinfo",
"url":20,
"doc":"compare_tinfo(t1, t2, tcflags) -> bool @param t1: typid_t @param t2: typid_t @param tcflags: int",
"func":1
},
{
"ref":"ida_typeinf.lexcompare_tinfo",
"url":20,
"doc":"lexcompare_tinfo(t1, t2, arg3) -> int @param t1: typid_t @param t2: typid_t @param arg3: int",
"func":1
},
{
"ref":"ida_typeinf.get_stock_tinfo",
"url":20,
"doc":"get_stock_tinfo(tif, id) -> bool @param tif: tinfo_t  @param id: enum stock_type_id_t",
"func":1
},
{
"ref":"ida_typeinf.read_tinfo_bitfield_value",
"url":20,
"doc":"read_tinfo_bitfield_value(typid, v, bitoff) -> uint64 @param typid: typid_t @param v: uint64 @param bitoff: int",
"func":1
},
{
"ref":"ida_typeinf.write_tinfo_bitfield_value",
"url":20,
"doc":"write_tinfo_bitfield_value(typid, dst, v, bitoff) -> uint64 @param typid: typid_t @param dst: uint64 @param v: uint64 @param bitoff: int",
"func":1
},
{
"ref":"ida_typeinf.get_tinfo_attr",
"url":20,
"doc":"get_tinfo_attr(typid, key, bv, all_attrs) -> bool @param typid: typid_t @param key: qstring const & @param bv: bytevec_t  @param all_attrs: bool",
"func":1
},
{
"ref":"ida_typeinf.set_tinfo_attr",
"url":20,
"doc":"set_tinfo_attr(tif, ta, may_overwrite) -> bool @param tif: tinfo_t  @param ta: type_attr_t const & @param may_overwrite: bool",
"func":1
},
{
"ref":"ida_typeinf.del_tinfo_attr",
"url":20,
"doc":"del_tinfo_attr(tif, key, make_copy) -> bool @param tif: tinfo_t  @param key: qstring const & @param make_copy: bool",
"func":1
},
{
"ref":"ida_typeinf.get_tinfo_attrs",
"url":20,
"doc":"get_tinfo_attrs(typid, tav, include_ref_attrs) -> bool @param typid: typid_t @param tav: type_attrs_t  @param include_ref_attrs: bool",
"func":1
},
{
"ref":"ida_typeinf.set_tinfo_attrs",
"url":20,
"doc":"set_tinfo_attrs(tif, ta) -> bool @param tif: tinfo_t  @param ta: type_attrs_t  ",
"func":1
},
{
"ref":"ida_typeinf.score_tinfo",
"url":20,
"doc":"score_tinfo(tif) -> uint32 @param tif: tinfo_t const  ",
"func":1
},
{
"ref":"ida_typeinf.save_tinfo",
"url":20,
"doc":"save_tinfo(tif, til, ord, name, ntf_flags) -> tinfo_code_t @param tif: tinfo_t  @param til: til_t  @param ord: size_t @param name: char const  @param ntf_flags: int",
"func":1
},
{
"ref":"ida_typeinf.append_tinfo_covered",
"url":20,
"doc":"append_tinfo_covered(out, typid, offset) -> bool @param out: rangeset_t  @param typid: typid_t @param offset: uint64",
"func":1
},
{
"ref":"ida_typeinf.calc_tinfo_gaps",
"url":20,
"doc":"calc_tinfo_gaps(out, typid) -> bool @param out: rangeset_t  @param typid: typid_t",
"func":1
},
{
"ref":"ida_typeinf.value_repr_t__from_opinfo",
"url":20,
"doc":"value_repr_t__from_opinfo(_this, flags, afl, opinfo, ap) -> bool @param _this: value_repr_t  @param flags: flags64_t @param afl: aflags_t @param opinfo: opinfo_t const  @param ap: array_parameters_t const  ",
"func":1
},
{
"ref":"ida_typeinf.value_repr_t__print_",
"url":20,
"doc":"value_repr_t__print_(_this, colored) -> str @param _this: value_repr_t const  @param colored: bool",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t__find_member",
"url":20,
"doc":"udt_type_data_t__find_member(_this, udm, strmem_flags) -> ssize_t @param _this: udt_type_data_t const  @param udm: udm_t  @param strmem_flags: int",
"func":1
},
{
"ref":"ida_typeinf.udm_t__make_gap",
"url":20,
"doc":"udm_t__make_gap(_this, byteoff, nbytes) -> bool @param _this: udm_t  @param byteoff: uval_t @param nbytes: uval_t",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t__get_best_fit_member",
"url":20,
"doc":"udt_type_data_t__get_best_fit_member(_this, disp) -> ssize_t @param _this: udt_type_data_t const  @param disp: asize_t",
"func":1
},
{
"ref":"ida_typeinf.get_tinfo_by_edm_name",
"url":20,
"doc":"get_tinfo_by_edm_name(tif, til, mname) -> ssize_t @param tif: tinfo_t  @param til: til_t const  @param mname: char const  ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t",
"url":20,
"doc":"Proxy of C tinfo_t class. __init__(self) -> tinfo_t __init__(self, decl_type) -> tinfo_t @param decl_type: type_t __init__(self, r) -> tinfo_t @param r: tinfo_t const &"
},
{
"ref":"ida_typeinf.tinfo_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.tinfo_t.clear",
"url":20,
"doc":"clear(self) Clear contents of this tinfo, and remove from the type system.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.swap",
"url":20,
"doc":"swap(self, r) Assign this = r and r = this. @param r: (C : tinfo_t &)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_named_type",
"url":20,
"doc":"get_named_type(self, til, name, decl_type=BTF_TYPEDEF, resolve=True, try_ordinal=True) -> bool @param til: til_t const  @param name: char const  @param decl_type: type_t @param resolve: bool @param try_ordinal: bool get_named_type(self, name, decl_type=BTF_TYPEDEF, resolve=True, try_ordinal=True) -> bool @param name: char const  @param decl_type: type_t @param resolve: bool @param try_ordinal: bool",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_numbered_type",
"url":20,
"doc":"get_numbered_type(self, til, ordinal, decl_type=BTF_TYPEDEF, resolve=True) -> bool @param til: til_t const  @param ordinal: uint32 @param decl_type: type_t @param resolve: bool get_numbered_type(self, ordinal, decl_type=BTF_TYPEDEF, resolve=True) -> bool @param ordinal: uint32 @param decl_type: type_t @param resolve: bool",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.detach",
"url":20,
"doc":"detach(self) -> bool Detach tinfo_t from the underlying type. After calling this finction, tinfo_t will lose its link to the underlying named or numbered type (if any) and will become a reference to a unique type. After that, any modifications to tinfo_t will affect only its type.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_correct",
"url":20,
"doc":"is_correct(self) -> bool Is the type object correct?. It is possible to create incorrect types. For example, we can define a function that returns an enum and then delete the enum type. If this function returns false, the type should not be used in disassembly. Please note that this function does not verify all involved types: for example, pointers to undefined types are permitted.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_realtype",
"url":20,
"doc":"get_realtype(self, full=False) -> type_t Get the resolved base type. Deserialization options:  if full=true, the referenced type will be deserialized fully, this may not always be desirable (slows down things)  if full=false, we just return the base type, the referenced type will be resolved again later if necessary (this may lead to multiple resolvings of the same type) imho full=false is a better approach because it does not perform unnecessary actions just in case. however, in some cases the caller knows that it is very likely that full type info will be required. in those cases full=true makes sense @param full: (C : bool)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_decltype",
"url":20,
"doc":"get_decltype(self) -> type_t Get declared type (without resolving type references; they are returned as is). Obviously this is a very fast function and should be used instead of get_realtype() if possible. Please note that for typerefs this function will return BTF_TYPEDEF. To determine if a typeref is a typedef, use is_typedef()",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.empty",
"url":20,
"doc":"empty(self) -> bool Was tinfo_t initialized with some type info or not?",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.present",
"url":20,
"doc":"present(self) -> bool Is the type really present? (not a reference to a missing type, for example)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_size",
"url":20,
"doc":"get_size(self, p_effalign=None, gts_code=0) -> size_t Get the type size in bytes. @param p_effalign: (C : uint32  ) buffer for the alignment value @param gts_code: (C : int) combination of GTS_ . constants @return: BADSIZE in case of problems",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_unpadded_size",
"url":20,
"doc":"get_unpadded_size(self) -> size_t Get the type size in bytes without the final padding, in bytes. For some UDTs get_unpadded_size() != get_size()",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_sign",
"url":20,
"doc":"get_sign(self) -> type_sign_t Get type sign.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_signed",
"url":20,
"doc":"is_signed(self) -> bool Is this a signed type?",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_unsigned",
"url":20,
"doc":"is_unsigned(self) -> bool Is this an unsigned type?",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_declalign",
"url":20,
"doc":"get_declalign(self) -> uchar Get declared alignment of the type.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_typeref",
"url":20,
"doc":"is_typeref(self) -> bool Is this type a type reference?.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.has_details",
"url":20,
"doc":"has_details(self) -> bool Does this type refer to a nontrivial type?",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_type_name",
"url":20,
"doc":"get_type_name(self) -> bool Does a type refer to a name?. If yes, fill the provided buffer with the type name and return true. Names are returned for numbered types too: either a user- defined nice name or, if a user-provided name does not exist, an ordinal name (like  xx, see create_numbered_type_name( .",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_nice_type_name",
"url":20,
"doc":"get_nice_type_name(self) -> bool Get the beautified type name. Get the referenced name and apply regular expressions from goodname.cfg to beautify the name",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.rename_type",
"url":20,
"doc":"rename_type(self, name, ntf_flags=0) -> tinfo_code_t Rename a type @param name: (C : const char  ) new type name @param ntf_flags: (C : int) Flags for named types @note: The change is saved immediately",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_final_type_name",
"url":20,
"doc":"get_final_type_name(self) -> bool Use in the case of typedef chain (TYPE1 -> TYPE2 -> TYPE3 .TYPEn). @return: the name of the last type in the chain (TYPEn). if there is no chain, returns TYPE1",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_next_type_name",
"url":20,
"doc":"get_next_type_name(self) -> bool Use In the case of typedef chain (TYPE1 -> TYPE2 -> TYPE3 .TYPEn). @return: the name of the next type in the chain (TYPE2). if there is no chain, returns failure",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_tid",
"url":20,
"doc":"get_tid(self) -> tid_t Get the type tid Each type in the local type library has a so-called  tid associated with it. The tid is used to collect xrefs to the type. The tid is created when the type is created in the local type library and does not change afterwards. It can be passed to xref-related functions instead of the address. @return: tid or BADADDR @note: types that do not come from a type library (that exist only in the memory) can not have a tid.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.force_tid",
"url":20,
"doc":"force_tid(self) -> tid_t Get the type tid. Create if it does not exist yet. If the type comes from a base til, the type will be copied to the local til and a new tid will be created for it. (if the type comes from a base til, it does not have a tid yet). If the type comes from the local til, this function is equivalent to get_tid() @return: tid or BADADDR",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_ordinal",
"url":20,
"doc":"get_ordinal(self) -> uint32 Get type ordinal (only if the type was created as a numbered type, 0 if none)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_final_ordinal",
"url":20,
"doc":"get_final_ordinal(self) -> uint32 Get final type ordinal (0 if none)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_til",
"url":20,
"doc":"get_til(self) -> til_t Get the type library for tinfo_t.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_from_subtil",
"url":20,
"doc":"is_from_subtil(self) -> bool Was the named type found in some base type library (not the top level type library)?. If yes, it usually means that the type comes from some loaded type library, not the local type library for the database",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_forward_decl",
"url":20,
"doc":"is_forward_decl(self) -> bool Is this a forward declaration?. Forward declarations are placeholders: the type definition does not exist",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_forward_type",
"url":20,
"doc":"get_forward_type(self) -> type_t Get type of a forward declaration. For a forward declaration this function returns its base type. In other cases it returns BT_UNK",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_forward_struct",
"url":20,
"doc":"is_forward_struct(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_forward_union",
"url":20,
"doc":"is_forward_union(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_forward_enum",
"url":20,
"doc":"is_forward_enum(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_typedef",
"url":20,
"doc":"is_typedef(self) -> bool Is this a typedef?. This function will return true for a reference to a local type that is declared as a typedef.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_type_cmt",
"url":20,
"doc":"get_type_cmt(self) -> int Get type comment @return: 0-failed, 1-returned regular comment, 2-returned repeatable comment",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_type_rptcmt",
"url":20,
"doc":"get_type_rptcmt(self) -> bool Get type comment only if it is repeatable.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_const",
"url":20,
"doc":"is_decl_const(self) -> bool is_type_const(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_volatile",
"url":20,
"doc":"is_decl_volatile(self) -> bool is_type_volatile(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_void",
"url":20,
"doc":"is_decl_void(self) -> bool is_type_void(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_partial",
"url":20,
"doc":"is_decl_partial(self) -> bool is_type_partial(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_unknown",
"url":20,
"doc":"is_decl_unknown(self) -> bool is_type_unknown(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_last",
"url":20,
"doc":"is_decl_last(self) -> bool is_typeid_last(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_ptr",
"url":20,
"doc":"is_decl_ptr(self) -> bool is_type_ptr(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_array",
"url":20,
"doc":"is_decl_array(self) -> bool is_type_array(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_func",
"url":20,
"doc":"is_decl_func(self) -> bool is_type_func(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_complex",
"url":20,
"doc":"is_decl_complex(self) -> bool is_type_complex(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_typedef",
"url":20,
"doc":"is_decl_typedef(self) -> bool is_type_typedef(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_sue",
"url":20,
"doc":"is_decl_sue(self) -> bool is_type_sue(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_struct",
"url":20,
"doc":"is_decl_struct(self) -> bool is_type_struct(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_union",
"url":20,
"doc":"is_decl_union(self) -> bool is_type_union(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_udt",
"url":20,
"doc":"is_decl_udt(self) -> bool is_type_struni(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_enum",
"url":20,
"doc":"is_decl_enum(self) -> bool is_type_enum(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_bitfield",
"url":20,
"doc":"is_decl_bitfield(self) -> bool is_type_bitfld(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_int128",
"url":20,
"doc":"is_decl_int128(self) -> bool is_type_int128(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_int64",
"url":20,
"doc":"is_decl_int64(self) -> bool is_type_int64(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_int32",
"url":20,
"doc":"is_decl_int32(self) -> bool is_type_int32(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_int16",
"url":20,
"doc":"is_decl_int16(self) -> bool is_type_int16(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_int",
"url":20,
"doc":"is_decl_int(self) -> bool is_type_int(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_char",
"url":20,
"doc":"is_decl_char(self) -> bool is_type_char(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_uint",
"url":20,
"doc":"is_decl_uint(self) -> bool is_type_uint(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_uchar",
"url":20,
"doc":"is_decl_uchar(self) -> bool is_type_uchar(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_uint16",
"url":20,
"doc":"is_decl_uint16(self) -> bool is_type_uint16(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_uint32",
"url":20,
"doc":"is_decl_uint32(self) -> bool is_type_uint32(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_uint64",
"url":20,
"doc":"is_decl_uint64(self) -> bool is_type_uint64(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_uint128",
"url":20,
"doc":"is_decl_uint128(self) -> bool is_type_uint128(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_ldouble",
"url":20,
"doc":"is_decl_ldouble(self) -> bool is_type_ldouble(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_double",
"url":20,
"doc":"is_decl_double(self) -> bool is_type_double(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_float",
"url":20,
"doc":"is_decl_float(self) -> bool is_type_float(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_tbyte",
"url":20,
"doc":"is_decl_tbyte(self) -> bool is_type_tbyte(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_floating",
"url":20,
"doc":"is_decl_floating(self) -> bool is_type_floating(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_bool",
"url":20,
"doc":"is_decl_bool(self) -> bool is_type_bool(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_decl_paf",
"url":20,
"doc":"is_decl_paf(self) -> bool is_type_paf(get_decltype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_well_defined",
"url":20,
"doc":"is_well_defined(self) -> bool !(empty(  !(is_decl_partial(  !(is_punknown( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_const",
"url":20,
"doc":"is_const(self) -> bool is_type_const(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_volatile",
"url":20,
"doc":"is_volatile(self) -> bool is_type_volatile(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_void",
"url":20,
"doc":"is_void(self) -> bool is_type_void(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_partial",
"url":20,
"doc":"is_partial(self) -> bool is_type_partial(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_unknown",
"url":20,
"doc":"is_unknown(self) -> bool is_type_unknown(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_ptr",
"url":20,
"doc":"is_ptr(self) -> bool is_type_ptr(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_array",
"url":20,
"doc":"is_array(self) -> bool is_type_array(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_func",
"url":20,
"doc":"is_func(self) -> bool is_type_func(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_complex",
"url":20,
"doc":"is_complex(self) -> bool is_type_complex(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_struct",
"url":20,
"doc":"is_struct(self) -> bool is_type_struct(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_union",
"url":20,
"doc":"is_union(self) -> bool is_type_union(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_udt",
"url":20,
"doc":"is_udt(self) -> bool is_type_struni(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_enum",
"url":20,
"doc":"is_enum(self) -> bool is_type_enum(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_sue",
"url":20,
"doc":"is_sue(self) -> bool is_type_sue(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_bitfield",
"url":20,
"doc":"is_bitfield(self) -> bool is_type_bitfld(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_int128",
"url":20,
"doc":"is_int128(self) -> bool is_type_int128(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_int64",
"url":20,
"doc":"is_int64(self) -> bool is_type_int64(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_int32",
"url":20,
"doc":"is_int32(self) -> bool is_type_int32(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_int16",
"url":20,
"doc":"is_int16(self) -> bool is_type_int16(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_int",
"url":20,
"doc":"is_int(self) -> bool is_type_int(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_char",
"url":20,
"doc":"is_char(self) -> bool is_type_char(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_uint",
"url":20,
"doc":"is_uint(self) -> bool is_type_uint(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_uchar",
"url":20,
"doc":"is_uchar(self) -> bool is_type_uchar(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_uint16",
"url":20,
"doc":"is_uint16(self) -> bool is_type_uint16(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_uint32",
"url":20,
"doc":"is_uint32(self) -> bool is_type_uint32(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_uint64",
"url":20,
"doc":"is_uint64(self) -> bool is_type_uint64(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_uint128",
"url":20,
"doc":"is_uint128(self) -> bool is_type_uint128(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_ldouble",
"url":20,
"doc":"is_ldouble(self) -> bool is_type_ldouble(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_double",
"url":20,
"doc":"is_double(self) -> bool is_type_double(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_float",
"url":20,
"doc":"is_float(self) -> bool is_type_float(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_tbyte",
"url":20,
"doc":"is_tbyte(self) -> bool is_type_tbyte(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_bool",
"url":20,
"doc":"is_bool(self) -> bool is_type_bool(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_paf",
"url":20,
"doc":"is_paf(self) -> bool is_type_paf(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_ptr_or_array",
"url":20,
"doc":"is_ptr_or_array(self) -> bool is_type_ptr_or_array(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_integral",
"url":20,
"doc":"is_integral(self) -> bool is_type_integral(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_ext_integral",
"url":20,
"doc":"is_ext_integral(self) -> bool is_type_ext_integral(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_floating",
"url":20,
"doc":"is_floating(self) -> bool is_type_floating(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_arithmetic",
"url":20,
"doc":"is_arithmetic(self) -> bool is_type_arithmetic(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_ext_arithmetic",
"url":20,
"doc":"is_ext_arithmetic(self) -> bool is_type_ext_arithmetic(get_realtype( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_scalar",
"url":20,
"doc":"is_scalar(self) -> bool Does the type represent a single number?",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_ptr_details",
"url":20,
"doc":"get_ptr_details(self, pi) -> bool Get the pointer info. @param pi: (C : ptr_type_data_t  )",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_array_details",
"url":20,
"doc":"get_array_details(self, ai) -> bool Get the array specific info. @param ai: (C : array_type_data_t  )",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_enum_details",
"url":20,
"doc":"get_enum_details(self, ei) -> bool Get the enum specific info. @param ei: (C : enum_type_data_t  )",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_bitfield_details",
"url":20,
"doc":"get_bitfield_details(self, bi) -> bool Get the bitfield specific info. @param bi: (C : bitfield_type_data_t  )",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_udt_details",
"url":20,
"doc":"get_udt_details(self, udt, gtd=GTD_CALC_LAYOUT) -> bool Get the udt specific info. @param udt: (C : udt_type_data_t  ) @param gtd: (C : gtd_udt_t) enum gtd_udt_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_func_details",
"url":20,
"doc":"get_func_details(self, fi, gtd=GTD_CALC_ARGLOCS) -> bool Get only the function specific info for this tinfo_t. @param fi: (C : func_type_data_t  ) @param gtd: (C : gtd_func_t) enum gtd_func_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_funcptr",
"url":20,
"doc":"is_funcptr(self) -> bool Is this pointer to a function?",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_shifted_ptr",
"url":20,
"doc":"is_shifted_ptr(self) -> bool Is a shifted pointer?",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_varstruct",
"url":20,
"doc":"is_varstruct(self) -> bool Is a variable-size structure?",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_varmember",
"url":20,
"doc":"is_varmember(self) -> bool Can the type be of a variable struct member? This function checks for: is_array()  array.nelems 0 Such a member can be only the very last member of a structure",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_ptrarr_objsize",
"url":20,
"doc":"get_ptrarr_objsize(self) -> int BT_PTR & BT_ARRAY: get size of pointed object or array element. On error returns -1",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_ptrarr_object",
"url":20,
"doc":"get_ptrarr_object(self) -> tinfo_t BT_PTR & BT_ARRAY: get the pointed object or array element. If the current type is not a pointer or array, return empty type info.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_pointed_object",
"url":20,
"doc":"get_pointed_object(self) -> tinfo_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_pvoid",
"url":20,
"doc":"is_pvoid(self) -> bool Is \"void  \"?. This function does not check the pointer attributes and type modifiers.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_punknown",
"url":20,
"doc":"is_punknown(self) -> bool Is \"_UNKNOWN  \"?. This function does not check the pointer attributes and type modifiers.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_array_element",
"url":20,
"doc":"get_array_element(self) -> tinfo_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_final_element",
"url":20,
"doc":"get_final_element(self) -> tinfo_t repeat recursively: if an array, return the type of its element; else return the type itself.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_array_nelems",
"url":20,
"doc":"get_array_nelems(self) -> int",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_nth_arg",
"url":20,
"doc":"get_nth_arg(self, n) -> tinfo_t BT_FUNC or BT_PTR BT_FUNC: Get type of n-th arg (-1 means return type, see get_rettype( @param n: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_rettype",
"url":20,
"doc":"get_rettype(self) -> tinfo_t BT_FUNC or BT_PTR BT_FUNC: Get the function's return type",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_nargs",
"url":20,
"doc":"get_nargs(self) -> int BT_FUNC or BT_PTR BT_FUNC: Calculate number of arguments (-1 - error)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_user_cc",
"url":20,
"doc":"is_user_cc(self) -> bool is_user_cc(get_cc( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_vararg_cc",
"url":20,
"doc":"is_vararg_cc(self) -> bool is_vararg_cc(get_cc( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_purging_cc",
"url":20,
"doc":"is_purging_cc(self) -> bool is_purging_cc(get_cc( ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.calc_purged_bytes",
"url":20,
"doc":"calc_purged_bytes(self) -> int",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_high_func",
"url":20,
"doc":"is_high_func(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_methods",
"url":20,
"doc":"get_methods(self, methods) -> bool @param BT_COMPLEX: get a list of member functions declared in this udt. @return: false if no member functions exist",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_bit_buckets",
"url":20,
"doc":"get_bit_buckets(self, buckets) -> bool  BT_STRUCT: get bit buckets Bit buckets are used to layout bitfields @param buckets: (C : range64vec_t  ) @return: false if wrong type was passed",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.find_udm",
"url":20,
"doc":"find_udm(self, udm, strmem_flags) -> int BTF_STRUCT,BTF_UNION: Find an udt member by name @param udm: udm_t  @param strmem_flags: (C : int) @return: the index of the found member or -1 find_udm(self, offset, strmem_flags=0) -> int @param offset: uint64 @param strmem_flags: int find_udm(self, name, strmem_flags=0) -> int @param name: char const  @param strmem_flags: int",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_udt_nmembers",
"url":20,
"doc":"get_udt_nmembers(self) -> int Get number of udt members. -1-error.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_empty_udt",
"url":20,
"doc":"is_empty_udt(self) -> bool Is an empty struct/union? (has no fields)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_small_udt",
"url":20,
"doc":"is_small_udt(self) -> bool Is a small udt? (can fit a register or a pair of registers)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.requires_qualifier",
"url":20,
"doc":"requires_qualifier(self, name, offset) -> bool Requires full qualifier? (name is not unique) @param name: (C : const char  ) field name @param offset: (C : uint64) field offset in bits @return: if the name is not unique, returns true",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.append_covered",
"url":20,
"doc":"append_covered(self, out, offset=0) -> bool Calculate set of covered bytes for the type @param out: (C : rangeset_t  ) pointer to the output buffer. covered bytes will be appended to it. @param offset: (C : uint64) delta in bytes to add to all calculations. used internally during recurion.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.calc_gaps",
"url":20,
"doc":"calc_gaps(self, out) -> bool Calculate set of padding bytes for the type @param out: (C : rangeset_t  ) pointer to the output buffer; old buffer contents will be lost.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_one_fpval",
"url":20,
"doc":"is_one_fpval(self) -> bool Floating value or an object consisting of one floating member entirely.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_sse_type",
"url":20,
"doc":"is_sse_type(self) -> bool Is a SSE vector type?",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_anonymous_udt",
"url":20,
"doc":"is_anonymous_udt(self) -> bool Is an anonymous struct/union? We assume that types with names are anonymous if the name starts with $",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_vftable",
"url":20,
"doc":"is_vftable(self) -> bool Is a vftable type?",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.has_vftable",
"url":20,
"doc":"has_vftable(self) -> bool Has a vftable?",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.has_union",
"url":20,
"doc":"has_union(self) -> bool Has a member of type \"union\"?",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_enum_nmembers",
"url":20,
"doc":"get_enum_nmembers(self) -> size_t Get number of enum members. @return: BADSIZE if error",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_empty_enum",
"url":20,
"doc":"is_empty_enum(self) -> bool Is an empty enum? (has no constants)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_enum_base_type",
"url":20,
"doc":"get_enum_base_type(self) -> type_t Get enum base type (convert enum to integer type) Returns BT_UNK if failed to convert",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_bitmask_enum",
"url":20,
"doc":"is_bitmask_enum(self) -> bool Is bitmask enum? @return: true for bitmask enum and false in other cases enum_type_data_t is_bf()",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_enum_radix",
"url":20,
"doc":"get_enum_radix(self) -> int Get enum constant radix @return: radix or 1 for BTE_CHAR enum_type_data_t get_enum_radix()",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_enum_repr",
"url":20,
"doc":"get_enum_repr(self, repr) -> tinfo_code_t Set the representation of enum members. @param repr: (C : value_repr_t  ) value_repr_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_enum_width",
"url":20,
"doc":"get_enum_width(self) -> int Get enum width @return: width of enum base type in bytes, 0 - unspecified, or -1 enum_type_data_t calc_nbytes()",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.calc_enum_mask",
"url":20,
"doc":"calc_enum_mask(self) -> uint64",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_edm",
"url":20,
"doc":"get_edm(self, edm, idx) -> tinfo_code_t Get enum member @param edm: (C : edm_t  ) enum type member @param idx: (C : size_t) enum member index",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.find_edm",
"url":20,
"doc":"find_edm(self, edm, value, bmask=bmask64_t(-1), serial=0) -> ssize_t Find enum member @param edm: (C : edm_t  ) enum type member, may be nullptr @param value: uint64 @param bmask: bmask64_t @return: member index, otherwise returns -1. find_edm(self, edm, name) -> ssize_t @param edm: edm_t  @param name: char const  ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_edm_tid",
"url":20,
"doc":"get_edm_tid(self, idx) -> tid_t Get enum member TID @param idx: (C : size_t) enum member index @return: tid or BADADDR The tid is used to collect xrefs to the member, it can be passed to xref-related functions instead of the address.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_onemember_type",
"url":20,
"doc":"get_onemember_type(self) -> tinfo_t For objects consisting of one member entirely: return type of the member.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_innermost_udm",
"url":20,
"doc":"get_innermost_udm(self, bitoffset) -> tinfo_t Get the innermost member at the given offset @param bitoffset: (C : uint64) bit offset into the structure @retval udt: with the innermost member @retval empty: type if it is not a struct type or OFFSET could not be found",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_innermost_member_type",
"url":20,
"doc":"get_innermost_member_type(self, bitoffset) -> tinfo_t Get the innermost member type at the given offset @param bitoffset: (C : uint64) bit offset into the structure @retval the: innermost member type",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.calc_score",
"url":20,
"doc":"calc_score(self) -> uint32 Calculate the type score (the higher - the nicer is the type)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.dstr",
"url":20,
"doc":"dstr(self) -> char const  Function to facilitate debugging.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_attrs",
"url":20,
"doc":"get_attrs(self, tav, all_attrs=False) -> bool Get type attributes (all_attrs: include attributes of referenced types, if any) @param tav: (C : type_attrs_t  ) @param all_attrs: (C : bool)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_attrs",
"url":20,
"doc":"set_attrs(self, tav) -> bool Set type attributes. If necessary, a new typid will be created. this function modifies tav! (returns old attributes, if any) @param tav: (C : type_attrs_t  ) @return: false: bad attributes",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_attr",
"url":20,
"doc":"set_attr(self, ta, may_overwrite=True) -> bool Set a type attribute. If necessary, a new typid will be created. @param ta: (C : const type_attr_t &) type_attr_t const & @param may_overwrite: (C : bool)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.del_attrs",
"url":20,
"doc":"del_attrs(self) Del all type attributes. typerefs cannot be modified by this function.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.del_attr",
"url":20,
"doc":"del_attr(self, key, make_copy=True) -> bool Del a type attribute. typerefs cannot be modified by this function. @param key: (C : const qstring &) qstring const & @param make_copy: (C : bool)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.create_simple_type",
"url":20,
"doc":"create_simple_type(self, decl_type) -> bool @param decl_type: type_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.create_ptr",
"url":20,
"doc":"create_ptr(self, p, decl_type=BT_PTR) -> bool @param p: ptr_type_data_t const & @param decl_type: type_t create_ptr(self, tif, bps=0, decl_type=BT_PTR) -> bool @param tif: tinfo_t const & @param bps: uchar @param decl_type: type_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.create_array",
"url":20,
"doc":"create_array(self, p, decl_type=BT_ARRAY) -> bool @param p: array_type_data_t const & @param decl_type: type_t create_array(self, tif, nelems=0, base=0, decl_type=BT_ARRAY) -> bool @param tif: tinfo_t const & @param nelems: uint32 @param base: uint32 @param decl_type: type_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.create_typedef",
"url":20,
"doc":"create_typedef(self, p, decl_type=BTF_TYPEDEF, try_ordinal=True) -> bool @param p: typedef_type_data_t const & @param decl_type: type_t @param try_ordinal: bool create_typedef(self, til, name, decl_type=BTF_TYPEDEF, try_ordinal=True) @param til: til_t const  @param name: char const  @param decl_type: type_t @param try_ordinal: bool create_typedef(self, til, ord, decl_type=BTF_TYPEDEF) @param til: til_t const  @param ord: uint @param decl_type: type_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.create_bitfield",
"url":20,
"doc":"create_bitfield(self, p, decl_type=BT_BITFIELD) -> bool @param p: bitfield_type_data_t const & @param decl_type: type_t create_bitfield(self, nbytes, width, is_unsigned=False, decl_type=BT_BITFIELD) -> bool @param nbytes: uchar @param width: uchar @param is_unsigned: bool @param decl_type: type_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.parse",
"url":20,
"doc":"parse(self, decl, til=None, pt_flags=0) -> bool Convenience function to parse a string with a type declaration @param decl: (C : const char  ) a type declaration @param til: (C : til_t  ) type library to use @param pt_flags: (C : int) combination of Type parsing flags bits",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.create_udt",
"url":20,
"doc":"create_udt(self, p) -> bool @param p: udt_type_data_t & create_udt(self, p, decl_type) -> bool @param p: udt_type_data_t & @param decl_type: type_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.create_enum",
"url":20,
"doc":"create_enum(self, p, decl_type=BTF_ENUM) -> bool @param p: enum_type_data_t & @param decl_type: type_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.create_func",
"url":20,
"doc":"create_func(self, p, decl_type=BT_FUNC) -> bool @param p: func_type_data_t & @param decl_type: type_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_udm_by_tid",
"url":20,
"doc":"get_udm_by_tid(self, udm, tid) -> ssize_t Retrive tinfo using type TID or struct/enum member MID @param udm: (C : udm_t  ) [out]: place to save the found member to, may be nullptr @param tid: (C : tid_t) tid can denote a type tid or a member tid. @return: if a member tid was specified, returns the member index, otherwise returns -1. if the function fails, THIS object becomes empty.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_edm_by_tid",
"url":20,
"doc":"get_edm_by_tid(self, edm, tid) -> ssize_t @param edm: edm_t  @param tid: tid_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_type_by_tid",
"url":20,
"doc":"get_type_by_tid(self, tid) -> bool @param tid: tid_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_edm_by_name",
"url":20,
"doc":"get_edm_by_name(self, mname, til=None) -> ssize_t Retrieve enum tinfo using enum member name @param mname: (C : const char  ) enum type member name @param til: (C : const til_t  ) type library @return: member index, otherwise returns -1. If the function fails, THIS object becomes empty.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_named_type",
"url":20,
"doc":"set_named_type(self, til, name, ntf_flags=0) -> tinfo_code_t @param til: til_t  @param name: char const  @param ntf_flags: int",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_symbol_type",
"url":20,
"doc":"set_symbol_type(self, til, name, ntf_flags=0) -> tinfo_code_t @param til: til_t  @param name: char const  @param ntf_flags: int",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_numbered_type",
"url":20,
"doc":"set_numbered_type(self, til, ord, ntf_flags=0, name=None) -> tinfo_code_t @param til: til_t  @param ord: uint32 @param ntf_flags: int @param name: char const  ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.save_type",
"url":20,
"doc":"save_type(self, ntf_flags=0x0001|0x0004) -> tinfo_code_t @param ntf_flags: int",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.copy_type",
"url":20,
"doc":"copy_type(self, til, name, ntf_flags=0x0001|0x1000) -> tinfo_code_t @param til: til_t  @param name: char const  @param ntf_flags: int",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.create_forward_decl",
"url":20,
"doc":"create_forward_decl(self, til, decl_type, name, ntf_flags=0) -> tinfo_code_t Create a forward declaration. decl_type: BTF_STRUCT, BTF_UNION, or BTF_ENUM @param til: (C : til_t  ) @param decl_type: (C : type_t) @param name: (C : const char  ) char const  @param ntf_flags: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_stock",
"url":20,
"doc":"get_stock(id) -> tinfo_t Get stock type information. This function can be used to get tinfo_t for some common types. The same tinfo_t will be returned for the same id, thus saving memory and increasing the speed Please note that retrieving the STI_SIZE_T or STI_SSIZE_T stock type, will also have the side-effect of adding that type to the 'idati' TIL, under the well-known name 'size_t' or 'ssize_t' (respectively). The same is valid for STI_COMPLEX64 and STI_COMPLEX64 stock types with names 'complex64_t' and 'complex128_t' (respectively). @param id: (C : stock_type_id_t) enum stock_type_id_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.convert_array_to_ptr",
"url":20,
"doc":"convert_array_to_ptr(self) -> bool Convert an array into a pointer. type[] => type  ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.remove_ptr_or_array",
"url":20,
"doc":"remove_ptr_or_array(self) -> bool Replace the current type with the ptr obj or array element. This function performs one of the following conversions:  type[] => type  type => type If the conversion is performed successfully, return true",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.read_bitfield_value",
"url":20,
"doc":"read_bitfield_value(self, v, bitoff) -> uint64 @param v: uint64 @param bitoff: int",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.write_bitfield_value",
"url":20,
"doc":"write_bitfield_value(self, dst, v, bitoff) -> uint64 @param dst: uint64 @param v: uint64 @param bitoff: int",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_modifiers",
"url":20,
"doc":"get_modifiers(self) -> type_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_modifiers",
"url":20,
"doc":"set_modifiers(self, mod) @param mod: type_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_const",
"url":20,
"doc":"set_const(self)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_volatile",
"url":20,
"doc":"set_volatile(self)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.clr_decl_const_volatile",
"url":20,
"doc":"clr_decl_const_volatile(self)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.clr_const",
"url":20,
"doc":"clr_const(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.clr_volatile",
"url":20,
"doc":"clr_volatile(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.clr_const_volatile",
"url":20,
"doc":"clr_const_volatile(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_type_alignment",
"url":20,
"doc":"set_type_alignment(self, declalign, etf_flags=0) -> tinfo_code_t Set type alignment. @param declalign: (C : uchar) @param etf_flags: (C : uint)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_declalign",
"url":20,
"doc":"set_declalign(self, declalign) -> bool @param declalign: uchar",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.change_sign",
"url":20,
"doc":"change_sign(self, sign) -> bool Change the type sign. Works only for the types that may have sign. @param sign: (C : type_sign_t)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.calc_udt_aligns",
"url":20,
"doc":"calc_udt_aligns(self, sudt_flags=0x0004) -> bool Calculate the udt alignments using the field offsets/sizes and the total udt size This function does not work on typerefs @param sudt_flags: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_methods",
"url":20,
"doc":"set_methods(self, methods) -> bool @param BT_COMPLEX: set the list of member functions. This function consumes 'methods' (makes it empty). @return: false if this type is not a udt, or if the given list is empty",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_type_cmt",
"url":20,
"doc":"set_type_cmt(self, cmt, is_regcmt=False, etf_flags=0) -> tinfo_code_t Set type comment This function works only for non-trivial types @param cmt: (C : const char  ) char const  @param is_regcmt: (C : bool) @param etf_flags: (C : uint)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_alias_target",
"url":20,
"doc":"get_alias_target(self) -> uint32 Get type alias If the type has no alias, return 0.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_aliased",
"url":20,
"doc":"is_aliased(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_type_alias",
"url":20,
"doc":"set_type_alias(self, dest_ord) -> bool Set type alias Redirects all references to source type to the destination type. This is equivalent to instantaneous replacement all references to srctype by dsttype. @param dest_ord: (C : uint32)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_udt_alignment",
"url":20,
"doc":"set_udt_alignment(self, sda, etf_flags=0) -> tinfo_code_t Set declared structure alignment (sda) This alignment supersedes the alignment returned by get_declalign() and is really used when calculating the struct layout. However, the effective structure alignment may differ from  sda because of packing. The type editing functions (they accept etf_flags) may overwrite this attribute. @param sda: (C : int) @param etf_flags: (C : uint)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_udt_pack",
"url":20,
"doc":"set_udt_pack(self, pack, etf_flags=0) -> tinfo_code_t Set structure packing. The value controls how little a structure member alignment can be. Example: if pack=1, then it is possible to align a double to a byte. __attribute__ aligned(1 ) double x; However, if pack=3, a double will be aligned to 8 (2 3) even if requested to be aligned to a byte. pack 0 will have the same effect. The type editing functions (they accept etf_flags) may overwrite this attribute. @param pack: (C : int) @param etf_flags: (C : uint)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_udm_tid",
"url":20,
"doc":"get_udm_tid(self, idx) -> tid_t Get udt member TID @param idx: (C : size_t) the index of udt the member @return: tid or BADADDR The tid is used to collect xrefs to the member, it can be passed to xref-related functions instead of the address.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.add_udm",
"url":20,
"doc":"add_udm(self, udm, etf_flags=0, times=1, idx=-1) -> tinfo_code_t Add a structure/union member. @param udm: (C : const udm_t &) member to add @param etf_flags: (C : uint) type changing flags flags @param times: (C : size_t) how many times to add. if times > 1, the member name will be appended a suffix like \"_2\" and so on @param idx: (C : ssize_t) the index in the udm array where the new udm should be placed. if the specified index cannot be honored because it would spoil the udm sorting order, it is silently ignored. @note: ETF_NO_SAVE is ignored",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.del_udm",
"url":20,
"doc":"del_udm(self, index, etf_flags=0) -> tinfo_code_t Delete a structure/union member. @param index: (C : size_t) @param etf_flags: (C : uint)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.del_udms",
"url":20,
"doc":"del_udms(self, idx1, idx2, etf_flags=0) -> tinfo_code_t Delete structure/union members in the range [idx1, idx2) @param idx1: (C : size_t) @param idx2: (C : size_t) @param etf_flags: (C : uint)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.rename_udm",
"url":20,
"doc":"rename_udm(self, index, name, etf_flags=0) -> tinfo_code_t Rename a structure/union member. The new name must be unique. @note: ETF_NO_SAVE is ignored @param index: (C : size_t) @param name: (C : const char  ) char const  @param etf_flags: (C : uint)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_udm_type",
"url":20,
"doc":"set_udm_type(self, index, tif, etf_flags=0, repr=None) -> tinfo_code_t Set type of a structure/union member. @param index: (C : size_t) member index in the udm array @param tif: (C : const tinfo_t &) new type for the member @param etf_flags: (C : uint) etf_flag_t @param repr: (C : const value_repr_t  ) new representation for the member (optional) @return: tinfo_code_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_udm_cmt",
"url":20,
"doc":"set_udm_cmt(self, index, cmt, is_regcmt=False, etf_flags=0) -> tinfo_code_t Set a comment for a structure/union member. A member may have just one comment, and it is either repeatable or regular. @param index: (C : size_t) @param cmt: (C : const char  ) char const  @param is_regcmt: (C : bool) @param etf_flags: (C : uint)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_udm_repr",
"url":20,
"doc":"set_udm_repr(self, index, repr, etf_flags=0) -> tinfo_code_t Set the representation of a structure/union member. @param index: (C : size_t) @param repr: (C : const value_repr_t &) value_repr_t const & @param etf_flags: (C : uint)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_udm_by_til",
"url":20,
"doc":"is_udm_by_til(self, idx) -> bool Was the member created due to the type system @param idx: (C : size_t) index of the member",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_udm_by_til",
"url":20,
"doc":"set_udm_by_til(self, idx, on=True, etf_flags=0) -> tinfo_code_t The member is created due to the type system @param idx: (C : size_t) index of the member @param on: (C : bool) @param etf_flags: (C : uint) etf_flag_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_fixed_struct",
"url":20,
"doc":"set_fixed_struct(self, on=True) -> tinfo_code_t Declare struct member offsets as fixed. For such structures, IDA will not recalculate the member offsets. If a member does not fit into its place anymore, it will be deleted. This function works only with structures (not unions). @param on: (C : bool)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_struct_size",
"url":20,
"doc":"set_struct_size(self, new_size) -> tinfo_code_t Explicitly specify the struct size. This function works only with fixed structures. The new struct size can be equal or higher the unpadded struct size (IOW, all existing members should fit into the specified size). @param new_size: (C : size_t) new structure size in bytes",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_fixed_struct",
"url":20,
"doc":"is_fixed_struct(self) -> bool Is a structure with fixed offsets?",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.expand_udt",
"url":20,
"doc":"expand_udt(self, idx, delta, etf_flags=0) -> tinfo_code_t Expand/shrink a structure by adding/removing a gap before the specified member. @param idx: (C : size_t) index of the member @param delta: (C : adiff_t) number of bytes to add or remove @param etf_flags: (C : uint) etf_flag_t Please note that it is impossible to add a gap at the very end of a structure. However, adding before a regular member is possible. This function can be used to remove gaps in the middle of a structure by specifying a negative delta value. @note: It is possible to add/remove a gap at the end of a fixed structure. Use IDX equal to the number of members for that.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_func_frame",
"url":20,
"doc":"get_func_frame(self, pfn) -> bool Create a tinfo_t object for the function frame @param pfn: (C : const func_t  ) function",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_frame",
"url":20,
"doc":"is_frame(self) -> bool Is a function frame?",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_frame_func",
"url":20,
"doc":"get_frame_func(self) -> ea_t Get function address for the frame.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_enum_width",
"url":20,
"doc":"set_enum_width(self, nbytes, etf_flags=0) -> tinfo_code_t Set the width of enum base type @param nbytes: (C : int) width of enum base type, allowed values: 0 (unspecified),1,2,4,8,16,32,64 @param etf_flags: (C : uint) etf_flag_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_enum_sign",
"url":20,
"doc":"set_enum_sign(self, sign, etf_flags=0) -> tinfo_code_t Set enum sign @param sign: (C : type_sign_t) @param etf_flags: (C : uint) etf_flag_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.ENUMBM_OFF",
"url":20,
"doc":"convert to ordinal enum"
},
{
"ref":"ida_typeinf.tinfo_t.ENUMBM_ON",
"url":20,
"doc":"convert to bitmask enum"
},
{
"ref":"ida_typeinf.tinfo_t.ENUMBM_AUTO",
"url":20,
"doc":"convert to bitmask if the outcome is nice and useful"
},
{
"ref":"ida_typeinf.tinfo_t.set_enum_is_bitmask",
"url":20,
"doc":"set_enum_is_bitmask(self, stance=ENUMBM_ON, etf_flags=0) -> tinfo_code_t @param stance: enum tinfo_t bitmask_cvt_stance_t @param etf_flags: uint",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_enum_repr",
"url":20,
"doc":"set_enum_repr(self, repr, etf_flags=0) -> tinfo_code_t Set the representation of enum members. @param repr: (C : const value_repr_t &) value_repr_t @param etf_flags: (C : uint) etf_flag_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_enum_radix",
"url":20,
"doc":"set_enum_radix(self, radix, sign, etf_flags=0) -> tinfo_code_t Set enum radix to display constants @param radix: (C : int) radix 2, 4, 8, 16, with the special case 1 to display as character @param sign: (C : bool) display as signed or unsigned @param etf_flags: (C : uint) etf_flag_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.add_edm",
"url":20,
"doc":"add_edm(self, edm, bmask=bmask64_t(-1), etf_flags=0, idx=-1) -> tinfo_code_t Add a new enum member (a new symbolic constant) @param edm: (C : const edm_t &) the constant name, value, and comment @param bmask: (C : bmask64_t) bmask of the group to add the constant to @note: 1. For non-bitmask enum push back constant, BMASK is not used (set it ot -1), never failed 2. For bitmask enum:  if VAL and BMASK are not agreed, return TERR_BAD_MSKVAL  if group with BMASK exists, push back constant to group  otherwise use constant as bitmask for a new group @note: ETF_NO_SAVE is ignored",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.del_edms",
"url":20,
"doc":"del_edms(self, idx1, idx2, etf_flags=0) -> tinfo_code_t Delete enum members @param idx1: (C : size_t) index in edmvec_t @param idx2: (C : size_t) index in edmvec_t or size_t(-1) @param etf_flags: (C : uint) etf_flag_t Delete enum members in [idx1, idx2) @note: For bitmask enum, the first member of a non-trivial group (having 2 or more members) is considered as a group mask. It is impossible to delete the group mask of a non-trivial group, other members of the group must be deleted first. Empty groups are automatically deleted.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.del_edm",
"url":20,
"doc":"del_edm(self, idx, etf_flags=0) -> tinfo_code_t @param idx: size_t @param etf_flags: uint",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.rename_edm",
"url":20,
"doc":"rename_edm(self, idx, name, etf_flags=0) -> tinfo_code_t Rename a enum member @param idx: (C : size_t) index in edmvec_t @param name: (C : const char  ) new name @param etf_flags: (C : uint) etf_flag_t ETF_FORCENAME may be used in case of TERR_ALIEN_NAME @note: ETF_NO_SAVE is ignored",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_edm_cmt",
"url":20,
"doc":"set_edm_cmt(self, idx, cmt, etf_flags=0) -> tinfo_code_t Set a comment for an enum member. Such comments are always considered as repeatable. @param idx: (C : size_t) index in edmvec_t @param cmt: (C : const char  ) comment @param etf_flags: (C : uint) etf_flag_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.edit_edm",
"url":20,
"doc":"edit_edm(self, idx, value, bmask=bmask64_t(-1), etf_flags=0) -> tinfo_code_t Change constant value and/or bitmask @param idx: (C : size_t) index in edmvec_t @param value: (C : uint64) old or new value @param bmask: (C : bmask64_t) old or new bitmask @note: if new bitmask is specified the index of constant may be changed",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.rename_funcarg",
"url":20,
"doc":"rename_funcarg(self, index, name, etf_flags=0) -> tinfo_code_t Rename a function argument. The new name must be unique. @param index: (C : size_t) argument index in the function array @param name: (C : const char  ) new name @param etf_flags: (C : uint) etf_flag_t @note: ETF_NO_SAVE is ignored",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_funcarg_type",
"url":20,
"doc":"set_funcarg_type(self, index, tif, etf_flags=0) -> tinfo_code_t Set type of a function argument. @param index: (C : size_t) argument index in the function array @param tif: (C : const tinfo_t &) new type for the argument @param etf_flags: (C : uint) etf_flag_t @return: tinfo_code_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_func_rettype",
"url":20,
"doc":"set_func_rettype(self, tif, etf_flags=0) -> tinfo_code_t Set function return type . @param tif: (C : const tinfo_t &) new type for the return type @param etf_flags: (C : uint) etf_flag_t @return: tinfo_code_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.del_funcargs",
"url":20,
"doc":"del_funcargs(self, idx1, idx2, etf_flags=0) -> tinfo_code_t Delete function arguments @param idx1: (C : size_t) index in funcargvec_t @param idx2: (C : size_t) index in funcargvec_t or size_t(-1) @param etf_flags: (C : uint) etf_flag_t Delete function arguments in [idx1, idx2)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.del_funcarg",
"url":20,
"doc":"del_funcarg(self, idx, etf_flags=0) -> tinfo_code_t @param idx: size_t @param etf_flags: uint",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.add_funcarg",
"url":20,
"doc":"add_funcarg(self, farg, etf_flags=0, idx=-1) -> tinfo_code_t Add a function argument. @param farg: (C : const funcarg_t &) argument to add @param etf_flags: (C : uint) type changing flags flags @param idx: (C : ssize_t) the index in the funcarg array where the new funcarg should be placed. if the specified index cannot be honored because it would spoil the funcarg sorting order, it is silently ignored. @note: ETF_NO_SAVE is ignored",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_func_cc",
"url":20,
"doc":"set_func_cc(self, cc, etf_flags=0) -> tinfo_code_t Set function calling convention. @param cc: (C : cm_t) @param etf_flags: (C : uint)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_funcarg_loc",
"url":20,
"doc":"set_funcarg_loc(self, index, argloc, etf_flags=0) -> tinfo_code_t Set location of a function argument. @param index: (C : size_t) argument index in the function array @param argloc: (C : const argloc_t &) new location for the argument @param etf_flags: (C : uint) etf_flag_t @return: tinfo_code_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.set_func_retloc",
"url":20,
"doc":"set_func_retloc(self, argloc, etf_flags=0) -> tinfo_code_t Set location of function return value. @param argloc: (C : const argloc_t &) new location for the return value @param etf_flags: (C : uint) etf_flag_t @return: tinfo_code_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.compare",
"url":20,
"doc":"compare(self, r) -> int @param r: tinfo_t const &",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.compare_with",
"url":20,
"doc":"compare_with(self, r, tcflags=0) -> bool Compare two types, based on given flags (see tinfo_t comparison flags) @param r: (C : const tinfo_t &) tinfo_t const & @param tcflags: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.equals_to",
"url":20,
"doc":"equals_to(self, r) -> bool @param r: tinfo_t const &",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_castable_to",
"url":20,
"doc":"is_castable_to(self, target) -> bool @param target: tinfo_t const &",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.is_manually_castable_to",
"url":20,
"doc":"is_manually_castable_to(self, target) -> bool @param target: tinfo_t const &",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.serialize",
"url":20,
"doc":"serialize(self, sudt_flags=SUDT_FAST|SUDT_TRUNC) -> PyObject Serialize tinfo_t object into a type string. @param sudt_flags: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.deserialize",
"url":20,
"doc":"deserialize(self, til, ptype, pfields=None, pfldcmts=None, cmt=None) -> bool Deserialize a type string into a tinfo_t object. @param til: (C : const til_t  ) til_t const  @param ptype: (C : const qtype  ) type_t const  @param pfields: (C : const qtype  ) p_list const  @param pfldcmts: (C : const qtype  ) p_list const  @param cmt: (C : const char  ) char const  deserialize(self, til, type, fields, cmts=None) -> bool @param til: til_t const  @param type: type_t const  @param fields: p_list const  @param cmts: p_list const  ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_stkvar",
"url":20,
"doc":"get_stkvar(self, insn, x, v) -> ssize_t Retrieve frame tinfo for a stack variable @param insn: (C : const insn_t &) the instruction @param x: (C : const op_t  ) reference to instruction operand, may be nullptr @param v: (C : sval_t) immediate value in the operand (usually x.addr) @return: returns the member index, otherwise returns -1. if the function fails, THIS object becomes empty.",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.copy",
"url":20,
"doc":"copy(self) -> tinfo_t",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.get_attr",
"url":20,
"doc":"get_attr(self, key, all_attrs=True) -> PyObject Get a type attribute. @param key: (C : const qstring &) qstring const & @param all_attrs: (C : bool)",
"func":1
},
{
"ref":"ida_typeinf.tinfo_t.find_udt_member",
"url":20,
"doc":"find_udm(self, udm, strmem_flags) -> int BTF_STRUCT,BTF_UNION: Find an udt member by name @param udm: udm_t  @param strmem_flags: (C : int) @return: the index of the found member or -1 find_udm(self, offset, strmem_flags=0) -> int @param offset: uint64 @param strmem_flags: int find_udm(self, name, strmem_flags=0) -> int @param name: char const  @param strmem_flags: int",
"func":1
},
{
"ref":"ida_typeinf.COMP_UNK",
"url":20,
"doc":"Unknown."
},
{
"ref":"ida_typeinf.COMP_MS",
"url":20,
"doc":"Visual C ."
},
{
"ref":"ida_typeinf.COMP_BC",
"url":20,
"doc":"Borland C ."
},
{
"ref":"ida_typeinf.COMP_WATCOM",
"url":20,
"doc":"Watcom C ."
},
{
"ref":"ida_typeinf.COMP_GNU",
"url":20,
"doc":"GNU C ."
},
{
"ref":"ida_typeinf.COMP_VISAGE",
"url":20,
"doc":"Visual Age C ."
},
{
"ref":"ida_typeinf.COMP_BP",
"url":20,
"doc":"Delphi."
},
{
"ref":"ida_typeinf.COMP_UNSURE",
"url":20,
"doc":"uncertain compiler id"
},
{
"ref":"ida_typeinf.BADSIZE",
"url":20,
"doc":"bad type size"
},
{
"ref":"ida_typeinf.FIRST_NONTRIVIAL_TYPID",
"url":20,
"doc":"Denotes the first bit describing a nontrivial type."
},
{
"ref":"ida_typeinf.TYPID_ISREF",
"url":20,
"doc":"Identifies that a type that is a typeref."
},
{
"ref":"ida_typeinf.TYPID_SHIFT",
"url":20,
"doc":"First type detail bit."
},
{
"ref":"ida_typeinf.remove_pointer",
"url":20,
"doc":"remove_pointer(tif) -> tinfo_t @param BT_PTR: If the current type is a pointer, return the pointed object. If the current type is not a pointer, return the current type. See also get_ptrarr_object() and get_pointed_object()",
"func":1
},
{
"ref":"ida_typeinf.STRMEM_OFFSET",
"url":20,
"doc":"get member by offset  in: udm->offset - is a member offset in bits"
},
{
"ref":"ida_typeinf.STRMEM_INDEX",
"url":20,
"doc":"get member by number  in: udm->offset - is a member number"
},
{
"ref":"ida_typeinf.STRMEM_AUTO",
"url":20,
"doc":"get member by offset if struct, or get member by index if union  nb: union: index is stored in the udm->offset field!  nb: struct: offset is in bytes (not in bits)!"
},
{
"ref":"ida_typeinf.STRMEM_NAME",
"url":20,
"doc":"get member by name  in: udm->name - the desired member name."
},
{
"ref":"ida_typeinf.STRMEM_TYPE",
"url":20,
"doc":"get member by type.  in: udm->type - the desired member type. member types are compared with tinfo_t equals_to()"
},
{
"ref":"ida_typeinf.STRMEM_SIZE",
"url":20,
"doc":"get member by size.  in: udm->size - the desired member size."
},
{
"ref":"ida_typeinf.STRMEM_MINS",
"url":20,
"doc":"get smallest member by size."
},
{
"ref":"ida_typeinf.STRMEM_MAXS",
"url":20,
"doc":"get biggest member by size."
},
{
"ref":"ida_typeinf.STRMEM_LOWBND",
"url":20,
"doc":"get member by offset or the next member (lower bound)  in: udm->offset - is a member offset in bits"
},
{
"ref":"ida_typeinf.STRMEM_NEXT",
"url":20,
"doc":"get next member after the offset  in: udm->offset - is a member offset in bits"
},
{
"ref":"ida_typeinf.STRMEM_VFTABLE",
"url":20,
"doc":"can be combined with STRMEM_OFFSET, STRMEM_AUTO get vftable instead of the base class"
},
{
"ref":"ida_typeinf.STRMEM_SKIP_EMPTY",
"url":20,
"doc":"can be combined with STRMEM_OFFSET, STRMEM_AUTO skip empty members (i.e. having zero size) only last empty member can be returned"
},
{
"ref":"ida_typeinf.STRMEM_CASTABLE_TO",
"url":20,
"doc":"can be combined with STRMEM_TYPE: member type must be castable to the specified type"
},
{
"ref":"ida_typeinf.STRMEM_ANON",
"url":20,
"doc":"can be combined with STRMEM_NAME: look inside anonymous members too."
},
{
"ref":"ida_typeinf.STRMEM_SKIP_GAPS",
"url":20,
"doc":"can be combined with STRMEM_OFFSET, STRMEM_LOWBND skip gap members"
},
{
"ref":"ida_typeinf.TCMP_EQUAL",
"url":20,
"doc":"are types equal?"
},
{
"ref":"ida_typeinf.TCMP_IGNMODS",
"url":20,
"doc":"ignore const/volatile modifiers"
},
{
"ref":"ida_typeinf.TCMP_AUTOCAST",
"url":20,
"doc":"can t1 be cast into t2 automatically?"
},
{
"ref":"ida_typeinf.TCMP_MANCAST",
"url":20,
"doc":"can t1 be cast into t2 manually?"
},
{
"ref":"ida_typeinf.TCMP_CALL",
"url":20,
"doc":"can t1 be called with t2 type?"
},
{
"ref":"ida_typeinf.TCMP_DELPTR",
"url":20,
"doc":"remove pointer from types before comparing"
},
{
"ref":"ida_typeinf.TCMP_DECL",
"url":20,
"doc":"compare declarations without resolving them"
},
{
"ref":"ida_typeinf.TCMP_ANYBASE",
"url":20,
"doc":"accept any base class when casting"
},
{
"ref":"ida_typeinf.TCMP_SKIPTHIS",
"url":20,
"doc":"skip the first function argument in comparison"
},
{
"ref":"ida_typeinf.simd_info_t",
"url":20,
"doc":"Proxy of C simd_info_t class. __init__(self, nm=None, sz=0, memt=BTF_UNK) -> simd_info_t @param nm: char const  @param sz: uint16 @param memt: type_t"
},
{
"ref":"ida_typeinf.simd_info_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.simd_info_t.name",
"url":20,
"doc":"name of SIMD type (nullptr-undefined)"
},
{
"ref":"ida_typeinf.simd_info_t.tif",
"url":20,
"doc":"SIMD type (empty-undefined)"
},
{
"ref":"ida_typeinf.simd_info_t.size",
"url":20,
"doc":"SIMD type size in bytes (0-undefined)"
},
{
"ref":"ida_typeinf.simd_info_t.memtype",
"url":20,
"doc":"member type BTF_INT8/16/32/64/128, BTF_UINT8/16/32/64/128 BTF_INT - integrals of any size/sign BTF_FLOAT, BTF_DOUBLE BTF_TBYTE - floatings of any size BTF_UNION - union of integral and floating types BTF_UNK - undefined"
},
{
"ref":"ida_typeinf.simd_info_t.match_pattern",
"url":20,
"doc":"match_pattern(self, pattern) -> bool @param pattern: simd_info_t const  ",
"func":1
},
{
"ref":"ida_typeinf.guess_func_cc",
"url":20,
"doc":"guess_func_cc(fti, npurged, cc_flags) -> cm_t Use func_type_data_t guess_cc() @param fti: (C : const func_type_data_t &) func_type_data_t const & @param npurged: (C : int) @param cc_flags: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.dump_func_type_data",
"url":20,
"doc":"dump_func_type_data(fti, praloc_bits) -> str Use func_type_data_t dump() @param fti: (C : const func_type_data_t &) func_type_data_t const & @param praloc_bits: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.ptr_type_data_t",
"url":20,
"doc":"Proxy of C ptr_type_data_t class. __init__(self, c=tinfo_t(), bps=0, p=tinfo_t(), d=0) -> ptr_type_data_t @param c: tinfo_t @param bps: uchar @param p: tinfo_t @param d: int32"
},
{
"ref":"ida_typeinf.ptr_type_data_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.ptr_type_data_t.obj_type",
"url":20,
"doc":"pointed object type"
},
{
"ref":"ida_typeinf.ptr_type_data_t.closure",
"url":20,
"doc":"cannot have both closure and based_ptr_size"
},
{
"ref":"ida_typeinf.ptr_type_data_t.parent",
"url":20,
"doc":"Parent struct."
},
{
"ref":"ida_typeinf.ptr_type_data_t.delta",
"url":20,
"doc":"Offset from the beginning of the parent struct."
},
{
"ref":"ida_typeinf.ptr_type_data_t.based_ptr_size",
"url":20,
"doc":"based_ptr_size"
},
{
"ref":"ida_typeinf.ptr_type_data_t.taptr_bits",
"url":20,
"doc":"TAH bits."
},
{
"ref":"ida_typeinf.ptr_type_data_t.swap",
"url":20,
"doc":"swap(self, r) Set this = r and r = this. @param r: (C : ptr_type_data_t &)",
"func":1
},
{
"ref":"ida_typeinf.ptr_type_data_t.is_code_ptr",
"url":20,
"doc":"is_code_ptr(self) -> bool Are we pointing to code?",
"func":1
},
{
"ref":"ida_typeinf.ptr_type_data_t.is_shifted",
"url":20,
"doc":"is_shifted(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.array_type_data_t",
"url":20,
"doc":"Proxy of C array_type_data_t class. __init__(self, b=0, n=0) -> array_type_data_t @param b: size_t @param n: size_t"
},
{
"ref":"ida_typeinf.array_type_data_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.array_type_data_t.elem_type",
"url":20,
"doc":"element type"
},
{
"ref":"ida_typeinf.array_type_data_t.base",
"url":20,
"doc":"array base"
},
{
"ref":"ida_typeinf.array_type_data_t.nelems",
"url":20,
"doc":"number of elements"
},
{
"ref":"ida_typeinf.array_type_data_t.swap",
"url":20,
"doc":"swap(self, r) set this = r and r = this @param r: (C : array_type_data_t &)",
"func":1
},
{
"ref":"ida_typeinf.funcarg_t",
"url":20,
"doc":"Proxy of C funcarg_t class. __init__(self) -> funcarg_t"
},
{
"ref":"ida_typeinf.funcarg_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.funcarg_t.argloc",
"url":20,
"doc":"argument location"
},
{
"ref":"ida_typeinf.funcarg_t.name",
"url":20,
"doc":"argument name (may be empty)"
},
{
"ref":"ida_typeinf.funcarg_t.cmt",
"url":20,
"doc":"argument comment (may be empty)"
},
{
"ref":"ida_typeinf.funcarg_t.type",
"url":20,
"doc":"argument type"
},
{
"ref":"ida_typeinf.funcarg_t.flags",
"url":20,
"doc":"Function argument property bits"
},
{
"ref":"ida_typeinf.FAI_HIDDEN",
"url":20,
"doc":"hidden argument"
},
{
"ref":"ida_typeinf.FAI_RETPTR",
"url":20,
"doc":"pointer to return value. implies hidden"
},
{
"ref":"ida_typeinf.FAI_STRUCT",
"url":20,
"doc":"was initially a structure"
},
{
"ref":"ida_typeinf.FAI_ARRAY",
"url":20,
"doc":"was initially an array; see \"__org_typedef\" or \"__org_arrdim\" type attributes to determine the original type"
},
{
"ref":"ida_typeinf.FAI_UNUSED",
"url":20,
"doc":"argument is not used by the function"
},
{
"ref":"ida_typeinf.func_type_data_t",
"url":20,
"doc":"Proxy of C func_type_data_t class. __init__(self) -> func_type_data_t"
},
{
"ref":"ida_typeinf.func_type_data_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.func_type_data_t.flags",
"url":20,
"doc":"Function type data property bits"
},
{
"ref":"ida_typeinf.func_type_data_t.rettype",
"url":20,
"doc":"return type"
},
{
"ref":"ida_typeinf.func_type_data_t.retloc",
"url":20,
"doc":"return location"
},
{
"ref":"ida_typeinf.func_type_data_t.stkargs",
"url":20,
"doc":"size of stack arguments (not used in build_func_type)"
},
{
"ref":"ida_typeinf.func_type_data_t.spoiled",
"url":20,
"doc":"spoiled register information. if spoiled register info is present, it overrides the standard spoil info (eax, edx, ecx for x86)"
},
{
"ref":"ida_typeinf.func_type_data_t.cc",
"url":20,
"doc":"calling convention"
},
{
"ref":"ida_typeinf.func_type_data_t.swap",
"url":20,
"doc":"swap(self, r) @param r: func_type_data_t &",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.is_high",
"url":20,
"doc":"is_high(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.is_noret",
"url":20,
"doc":"is_noret(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.is_pure",
"url":20,
"doc":"is_pure(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.is_static",
"url":20,
"doc":"is_static(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.is_virtual",
"url":20,
"doc":"is_virtual(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.is_const",
"url":20,
"doc":"is_const(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.is_ctor",
"url":20,
"doc":"is_ctor(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.is_dtor",
"url":20,
"doc":"is_dtor(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.get_call_method",
"url":20,
"doc":"get_call_method(self) -> int",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.is_vararg_cc",
"url":20,
"doc":"is_vararg_cc(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.is_golang_cc",
"url":20,
"doc":"is_golang_cc(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.is_swift_cc",
"url":20,
"doc":"is_swift_cc(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.guess_cc",
"url":20,
"doc":"guess_cc(self, purged, cc_flags) -> cm_t Guess function calling convention use the following info: argument locations and 'stkargs' @param purged: (C : int) @param cc_flags: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.dump",
"url":20,
"doc":"dump(self, praloc_bits=0x02) -> bool Dump information that is not always visible in the function prototype. (argument locations, return location, total stkarg size) @param praloc_bits: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.find_argument",
"url":20,
"doc":"find_argument(self, name, _from=0, to=size_t(-1 -> ssize_t find argument by name @param name: (C : const char  ) char const  @param from: (C : size_t) @param to: (C : size_t)",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.push_back",
"url":20,
"doc":"push_back(self, x) @param x: funcarg_t const & push_back(self) -> funcarg_t",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.pop_back",
"url":20,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.size",
"url":20,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.empty",
"url":20,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.at",
"url":20,
"doc":"at(self, _idx) -> funcarg_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.qclear",
"url":20,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.clear",
"url":20,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.resize",
"url":20,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: funcarg_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.grow",
"url":20,
"doc":"grow(self, x=funcarg_t( @param x: funcarg_t const &",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.capacity",
"url":20,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.reserve",
"url":20,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.truncate",
"url":20,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.extract",
"url":20,
"doc":"extract(self) -> funcarg_t",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.inject",
"url":20,
"doc":"inject(self, s, len) @param s: funcarg_t  @param len: size_t",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.begin",
"url":20,
"doc":"begin(self) -> funcarg_t",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.end",
"url":20,
"doc":"end(self) -> funcarg_t",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.insert",
"url":20,
"doc":"insert(self, it, x) -> funcarg_t @param it: qvector  iterator @param x: funcarg_t const &",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.erase",
"url":20,
"doc":"erase(self, it) -> funcarg_t @param it: qvector  iterator erase(self, first, last) -> funcarg_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.find",
"url":20,
"doc":"find(self, x) -> funcarg_t @param x: funcarg_t const &",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.has",
"url":20,
"doc":"has(self, x) -> bool @param x: funcarg_t const &",
"func":1
},
{
"ref":"ida_typeinf.func_type_data_t.add_unique",
"url":20,
"doc":"add_unique(self, x) -> bool @param x: funcarg_t const &",
"func":1
},
{
"ref":"ida_typeinf.FTI_SPOILED",
"url":20,
"doc":"information about spoiled registers is present"
},
{
"ref":"ida_typeinf.FTI_NORET",
"url":20,
"doc":"noreturn"
},
{
"ref":"ida_typeinf.FTI_PURE",
"url":20,
"doc":"__pure"
},
{
"ref":"ida_typeinf.FTI_HIGH",
"url":20,
"doc":"high level prototype (with possibly hidden args)"
},
{
"ref":"ida_typeinf.FTI_STATIC",
"url":20,
"doc":"static"
},
{
"ref":"ida_typeinf.FTI_VIRTUAL",
"url":20,
"doc":"virtual"
},
{
"ref":"ida_typeinf.FTI_CALLTYPE",
"url":20,
"doc":"mask for FTI_ CALL"
},
{
"ref":"ida_typeinf.FTI_DEFCALL",
"url":20,
"doc":"default call"
},
{
"ref":"ida_typeinf.FTI_NEARCALL",
"url":20,
"doc":"near call"
},
{
"ref":"ida_typeinf.FTI_FARCALL",
"url":20,
"doc":"far call"
},
{
"ref":"ida_typeinf.FTI_INTCALL",
"url":20,
"doc":"interrupt call"
},
{
"ref":"ida_typeinf.FTI_ARGLOCS",
"url":20,
"doc":"info about argument locations has been calculated (stkargs and retloc too)"
},
{
"ref":"ida_typeinf.FTI_EXPLOCS",
"url":20,
"doc":"all arglocs are specified explicitly"
},
{
"ref":"ida_typeinf.FTI_CONST",
"url":20,
"doc":"const member function"
},
{
"ref":"ida_typeinf.FTI_CTOR",
"url":20,
"doc":"constructor"
},
{
"ref":"ida_typeinf.FTI_DTOR",
"url":20,
"doc":"destructor"
},
{
"ref":"ida_typeinf.FTI_ALL",
"url":20,
"doc":"all defined bits"
},
{
"ref":"ida_typeinf.CC_CDECL_OK",
"url":20,
"doc":"can use __cdecl calling convention?"
},
{
"ref":"ida_typeinf.CC_ALLOW_ARGPERM",
"url":20,
"doc":"disregard argument order?"
},
{
"ref":"ida_typeinf.CC_ALLOW_REGHOLES",
"url":20,
"doc":"allow holes in register argument list?"
},
{
"ref":"ida_typeinf.CC_HAS_ELLIPSIS",
"url":20,
"doc":"function has a variable list of arguments?"
},
{
"ref":"ida_typeinf.CC_GOLANG_OK",
"url":20,
"doc":"can use __golang calling convention"
},
{
"ref":"ida_typeinf.stkarg_area_info_t",
"url":20,
"doc":"Proxy of C stkarg_area_info_t class. __init__(self) -> stkarg_area_info_t"
},
{
"ref":"ida_typeinf.stkarg_area_info_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.stkarg_area_info_t.cb",
"url":20,
"doc":"cb"
},
{
"ref":"ida_typeinf.stkarg_area_info_t.stkarg_offset",
"url":20,
"doc":"Offset from the SP to the first stack argument (can include linkage area) examples: pc: 0, hppa: -0x34, ppc aix: 0x18"
},
{
"ref":"ida_typeinf.stkarg_area_info_t.shadow_size",
"url":20,
"doc":"Size of the shadow area. explanations at: \\link{https: stackoverflow.com/questions/30190132/what-is-the-shadow-space- in-x64-assembly} examples: x64 Visual Studio C : 0x20, x64 gcc: 0, ppc aix: 0x20"
},
{
"ref":"ida_typeinf.stkarg_area_info_t.linkage_area",
"url":20,
"doc":"Size of the linkage area. explanations at: \\link{https: www.ibm.com/docs/en/xl- fortran-aix/16.1.0?topic=conventions-linkage-area} examples: pc: 0, hppa: 0, ppc aix: 0x18 (equal to stkarg_offset)"
},
{
"ref":"ida_typeinf.edm_t",
"url":20,
"doc":"Proxy of C edm_t class. __init__(self) -> edm_t"
},
{
"ref":"ida_typeinf.edm_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.edm_t.name",
"url":20,
"doc":"name"
},
{
"ref":"ida_typeinf.edm_t.cmt",
"url":20,
"doc":"cmt"
},
{
"ref":"ida_typeinf.edm_t.value",
"url":20,
"doc":"value"
},
{
"ref":"ida_typeinf.edm_t.swap",
"url":20,
"doc":"swap(self, r) @param r: edm_t &",
"func":1
},
{
"ref":"ida_typeinf.edm_t.get_tid",
"url":20,
"doc":"get_tid(self) -> tid_t",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t",
"url":20,
"doc":"Proxy of C enum_type_data_t class. __init__(self, _bte=BTE_ALWAYS|BTE_HEX) -> enum_type_data_t @param _bte: bte_t"
},
{
"ref":"ida_typeinf.enum_type_data_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.enum_type_data_t.group_sizes",
"url":20,
"doc":"if present, specifies bitmask group sizes each non-trivial group starts with a mask member"
},
{
"ref":"ida_typeinf.enum_type_data_t.taenum_bits",
"url":20,
"doc":"Type attributes for enums"
},
{
"ref":"ida_typeinf.enum_type_data_t.bte",
"url":20,
"doc":"enum member sizes (shift amount) and style. do not manually set BTE_BITMASK, use set_enum_is_bitmask()"
},
{
"ref":"ida_typeinf.enum_type_data_t.get_enum_radix",
"url":20,
"doc":"get_enum_radix(self) -> int Get enum constant radix @return: radix or 1 for BTE_CHAR",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.is_number_signed",
"url":20,
"doc":"is_number_signed(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.set_enum_radix",
"url":20,
"doc":"set_enum_radix(self, radix, sign) Set radix to display constants @param radix: (C : int) radix with the special case 1 to display as character @param sign: (C : bool)",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.is_char",
"url":20,
"doc":"is_char(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.is_dec",
"url":20,
"doc":"is_dec(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.is_hex",
"url":20,
"doc":"is_hex(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.is_oct",
"url":20,
"doc":"is_oct(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.is_bin",
"url":20,
"doc":"is_bin(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.is_udec",
"url":20,
"doc":"is_udec(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.is_shex",
"url":20,
"doc":"is_shex(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.is_soct",
"url":20,
"doc":"is_soct(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.is_sbin",
"url":20,
"doc":"is_sbin(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.has_lzero",
"url":20,
"doc":"has_lzero(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.set_lzero",
"url":20,
"doc":"set_lzero(self, on) @param on: bool",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.calc_mask",
"url":20,
"doc":"calc_mask(self) -> uint64",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.store_64bit_values",
"url":20,
"doc":"store_64bit_values(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.is_bf",
"url":20,
"doc":"is_bf(self) -> bool is bitmask or ordinary enum?",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.calc_nbytes",
"url":20,
"doc":"calc_nbytes(self) -> int get the width of enum in bytes",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.set_nbytes",
"url":20,
"doc":"set_nbytes(self, nbytes) -> bool set enum width (nbytes) @param nbytes: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.is_group_mask_at",
"url":20,
"doc":"is_group_mask_at(self, idx) -> bool is the enum member at IDX a non-trivial group mask? a trivial group consist of one bit and has just one member, which can be considered as a mask or a bitfield constant @param idx: (C : size_t) index @return: success",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.is_valid_group_sizes",
"url":20,
"doc":"is_valid_group_sizes(self) -> bool is valid group sizes",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.find_member",
"url":20,
"doc":"find_member(self, name, _from=0, to=size_t(-1 -> ssize_t find member (constant or bmask) by value @param name: char const  @param from: (C : size_t) @param to: (C : size_t) find_member(self, value, serial, _from=0, to=size_t(-1), vmask=uint64(-1 -> ssize_t @param value: uint64 @param serial: uchar @param from: size_t @param to: size_t @param vmask: uint64",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.swap",
"url":20,
"doc":"swap(self, r) swap two instances @param r: (C : enum_type_data_t &)",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.add_constant",
"url":20,
"doc":"add_constant(self, name, value, cmt=None) add constant for regular enum @param name: (C : const char  ) char const  @param value: (C : uint64) @param cmt: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.get_value_repr",
"url":20,
"doc":"get_value_repr(self, repr) -> tinfo_code_t get enum radix and other representation info @param repr: (C : value_repr_t  ) value display info",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.set_value_repr",
"url":20,
"doc":"set_value_repr(self, repr) -> tinfo_code_t set enum radix and other representation info @param repr: (C : const value_repr_t &) value display info",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.get_serial",
"url":20,
"doc":"get_serial(self, index) -> uchar returns serial for the constant @param index: (C : size_t)",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.get_max_serial",
"url":20,
"doc":"get_max_serial(self, value) -> uchar return the maximum serial for the value @param value: (C : uint64)",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.get_constant_group",
"url":20,
"doc":"get_constant_group(self, group_start_index, group_size, idx) -> bool get group parameters for the constant, valid for bitmask enum @param group_start_index: (C : size_t  ) index of the group mask @param group_size: (C : size_t  ) group size (>=1) @param idx: (C : size_t) constant index @return: success get_constant_group(self, idx) -> PyObject  @param idx: size_t",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.all_groups",
"url":20,
"doc":"Generate tuples for bitmask enum groups. Each tupple is: [0] enum member index of group start [1] group size Tupples may include or not the group with 1 element.",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.all_constants",
"url":20,
"doc":"Generate tupples of all constants except of bitmasks. Each tupple is: [0] constant index [1] enum member index of group start [2] group size In case of regular enum the second element of tupple is 0 and the third element of tupple is the number of enum members.",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.push_back",
"url":20,
"doc":"push_back(self, x) @param x: edm_t const & push_back(self) -> edm_t",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.pop_back",
"url":20,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.size",
"url":20,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.empty",
"url":20,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.at",
"url":20,
"doc":"at(self, _idx) -> edm_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.qclear",
"url":20,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.clear",
"url":20,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.resize",
"url":20,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: edm_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.grow",
"url":20,
"doc":"grow(self, x=edm_t( @param x: edm_t const &",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.capacity",
"url":20,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.reserve",
"url":20,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.truncate",
"url":20,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.extract",
"url":20,
"doc":"extract(self) -> edm_t",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.inject",
"url":20,
"doc":"inject(self, s, len) @param s: edm_t  @param len: size_t",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.begin",
"url":20,
"doc":"begin(self) -> edm_t",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.end",
"url":20,
"doc":"end(self) -> edm_t",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.insert",
"url":20,
"doc":"insert(self, it, x) -> edm_t @param it: qvector  iterator @param x: edm_t const &",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.erase",
"url":20,
"doc":"erase(self, it) -> edm_t @param it: qvector  iterator erase(self, first, last) -> edm_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.find",
"url":20,
"doc":"find(self, x) -> edm_t @param x: edm_t const &",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.has",
"url":20,
"doc":"has(self, x) -> bool @param x: edm_t const &",
"func":1
},
{
"ref":"ida_typeinf.enum_type_data_t.add_unique",
"url":20,
"doc":"add_unique(self, x) -> bool @param x: edm_t const &",
"func":1
},
{
"ref":"ida_typeinf.typedef_type_data_t",
"url":20,
"doc":"Proxy of C typedef_type_data_t class. __init__(self, _til, _name, _resolve=False) -> typedef_type_data_t @param _til: til_t const  @param _name: char const  @param _resolve: bool __init__(self, _til, ord, _resolve=False) -> typedef_type_data_t @param _til: til_t const  @param ord: uint32 @param _resolve: bool"
},
{
"ref":"ida_typeinf.typedef_type_data_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.typedef_type_data_t.til",
"url":20,
"doc":"type library to use when resolving"
},
{
"ref":"ida_typeinf.typedef_type_data_t.name",
"url":20,
"doc":"is_ordref=false: target type name. we do not own this pointer!"
},
{
"ref":"ida_typeinf.typedef_type_data_t.ordinal",
"url":20,
"doc":"is_ordref=true: type ordinal number"
},
{
"ref":"ida_typeinf.typedef_type_data_t.is_ordref",
"url":20,
"doc":"is reference by ordinal?"
},
{
"ref":"ida_typeinf.typedef_type_data_t.resolve",
"url":20,
"doc":"should resolve immediately?"
},
{
"ref":"ida_typeinf.typedef_type_data_t.swap",
"url":20,
"doc":"swap(self, r) @param r: typedef_type_data_t &",
"func":1
},
{
"ref":"ida_typeinf.MAX_ENUM_SERIAL",
"url":20,
"doc":"Max number of identical constants allowed for one enum type."
},
{
"ref":"ida_typeinf.custom_data_type_info_t",
"url":20,
"doc":"Proxy of C custom_data_type_info_t class. __init__(self) -> custom_data_type_info_t"
},
{
"ref":"ida_typeinf.custom_data_type_info_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.custom_data_type_info_t.dtid",
"url":20,
"doc":"data type id"
},
{
"ref":"ida_typeinf.custom_data_type_info_t.fid",
"url":20,
"doc":"data format ids"
},
{
"ref":"ida_typeinf.value_repr_t",
"url":20,
"doc":"Proxy of C value_repr_t class. __init__(self) -> value_repr_t"
},
{
"ref":"ida_typeinf.value_repr_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.value_repr_t.bits",
"url":20,
"doc":"bits"
},
{
"ref":"ida_typeinf.value_repr_t.ri",
"url":20,
"doc":"FRB_OFFSET."
},
{
"ref":"ida_typeinf.value_repr_t.strtype",
"url":20,
"doc":"FRB_STRLIT."
},
{
"ref":"ida_typeinf.value_repr_t.delta",
"url":20,
"doc":"FRB_STROFF."
},
{
"ref":"ida_typeinf.value_repr_t.type_ordinal",
"url":20,
"doc":"FRB_STROFF, FRB_ENUM."
},
{
"ref":"ida_typeinf.value_repr_t.cd",
"url":20,
"doc":"FRB_CUSTOM."
},
{
"ref":"ida_typeinf.value_repr_t.ap",
"url":20,
"doc":"FRB_TABFORM, AP_SIGNED is ignored, use FRB_SIGNED instead"
},
{
"ref":"ida_typeinf.value_repr_t.swap",
"url":20,
"doc":"swap(self, r) @param r: value_repr_t &",
"func":1
},
{
"ref":"ida_typeinf.value_repr_t.clear",
"url":20,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_typeinf.value_repr_t.empty",
"url":20,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.value_repr_t.is_enum",
"url":20,
"doc":"is_enum(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.value_repr_t.is_offset",
"url":20,
"doc":"is_offset(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.value_repr_t.is_strlit",
"url":20,
"doc":"is_strlit(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.value_repr_t.is_custom",
"url":20,
"doc":"is_custom(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.value_repr_t.is_stroff",
"url":20,
"doc":"is_stroff(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.value_repr_t.is_typref",
"url":20,
"doc":"is_typref(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.value_repr_t.is_signed",
"url":20,
"doc":"is_signed(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.value_repr_t.has_tabform",
"url":20,
"doc":"has_tabform(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.value_repr_t.has_lzeroes",
"url":20,
"doc":"has_lzeroes(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.value_repr_t.get_vtype",
"url":20,
"doc":"get_vtype(self) -> uint64",
"func":1
},
{
"ref":"ida_typeinf.value_repr_t.set_vtype",
"url":20,
"doc":"set_vtype(self, vt) @param vt: uint64",
"func":1
},
{
"ref":"ida_typeinf.value_repr_t.set_signed",
"url":20,
"doc":"set_signed(self, on) @param on: bool",
"func":1
},
{
"ref":"ida_typeinf.value_repr_t.set_tabform",
"url":20,
"doc":"set_tabform(self, on) @param on: bool",
"func":1
},
{
"ref":"ida_typeinf.value_repr_t.set_lzeroes",
"url":20,
"doc":"set_lzeroes(self, on) @param on: bool",
"func":1
},
{
"ref":"ida_typeinf.value_repr_t.set_ap",
"url":20,
"doc":"set_ap(self, _ap) @param _ap: array_parameters_t const &",
"func":1
},
{
"ref":"ida_typeinf.value_repr_t.init_ap",
"url":20,
"doc":"init_ap(self, _ap) @param _ap: array_parameters_t  ",
"func":1
},
{
"ref":"ida_typeinf.value_repr_t.from_opinfo",
"url":20,
"doc":"from_opinfo(self, flags, afl, opinfo, _ap) -> bool @param flags: flags64_t @param afl: aflags_t @param opinfo: opinfo_t const  @param _ap: array_parameters_t const  ",
"func":1
},
{
"ref":"ida_typeinf.value_repr_t.parse_value_repr",
"url":20,
"doc":"parse_value_repr(self, attr, target_type=BTF_STRUCT) -> bool @param attr: qstring const & @param target_type: type_t",
"func":1
},
{
"ref":"ida_typeinf.FRB_MASK",
"url":20,
"doc":"Mask for the value type ( means requires additional info):"
},
{
"ref":"ida_typeinf.FRB_UNK",
"url":20,
"doc":"Unknown."
},
{
"ref":"ida_typeinf.FRB_NUMB",
"url":20,
"doc":"Binary number."
},
{
"ref":"ida_typeinf.FRB_NUMO",
"url":20,
"doc":"Octal number."
},
{
"ref":"ida_typeinf.FRB_NUMH",
"url":20,
"doc":"Hexadecimal number."
},
{
"ref":"ida_typeinf.FRB_NUMD",
"url":20,
"doc":"Decimal number."
},
{
"ref":"ida_typeinf.FRB_FLOAT",
"url":20,
"doc":"Floating point number (for interpreting an integer type as a floating value)"
},
{
"ref":"ida_typeinf.FRB_CHAR",
"url":20,
"doc":"Char."
},
{
"ref":"ida_typeinf.FRB_SEG",
"url":20,
"doc":"Segment."
},
{
"ref":"ida_typeinf.FRB_ENUM",
"url":20,
"doc":" Enumeration"
},
{
"ref":"ida_typeinf.FRB_OFFSET",
"url":20,
"doc":" Offset"
},
{
"ref":"ida_typeinf.FRB_STRLIT",
"url":20,
"doc":" String literal (used for arrays)"
},
{
"ref":"ida_typeinf.FRB_STROFF",
"url":20,
"doc":" Struct offset"
},
{
"ref":"ida_typeinf.FRB_CUSTOM",
"url":20,
"doc":" Custom data type"
},
{
"ref":"ida_typeinf.FRB_INVSIGN",
"url":20,
"doc":"Invert sign (0x01 is represented as -0xFF)"
},
{
"ref":"ida_typeinf.FRB_INVBITS",
"url":20,
"doc":"Invert bits (0x01 is represented as ~0xFE)"
},
{
"ref":"ida_typeinf.FRB_SIGNED",
"url":20,
"doc":"Force signed representation."
},
{
"ref":"ida_typeinf.FRB_LZERO",
"url":20,
"doc":"Toggle leading zeroes (used for integers)"
},
{
"ref":"ida_typeinf.FRB_TABFORM",
"url":20,
"doc":"has additional tabular parameters"
},
{
"ref":"ida_typeinf.udm_t",
"url":20,
"doc":"Proxy of C udm_t class. __init__(self) -> udm_t"
},
{
"ref":"ida_typeinf.udm_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.udm_t.offset",
"url":20,
"doc":"member offset in bits"
},
{
"ref":"ida_typeinf.udm_t.size",
"url":20,
"doc":"size in bits"
},
{
"ref":"ida_typeinf.udm_t.name",
"url":20,
"doc":"member name"
},
{
"ref":"ida_typeinf.udm_t.cmt",
"url":20,
"doc":"member comment"
},
{
"ref":"ida_typeinf.udm_t.type",
"url":20,
"doc":"member type"
},
{
"ref":"ida_typeinf.udm_t.repr",
"url":20,
"doc":"radix, refinfo, strpath, custom_id, strtype"
},
{
"ref":"ida_typeinf.udm_t.effalign",
"url":20,
"doc":"effective field alignment (in bytes)"
},
{
"ref":"ida_typeinf.udm_t.tafld_bits",
"url":20,
"doc":"TAH bits."
},
{
"ref":"ida_typeinf.udm_t.fda",
"url":20,
"doc":"field alignment (shift amount)"
},
{
"ref":"ida_typeinf.udm_t.is_bitfield",
"url":20,
"doc":"is_bitfield(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_zero_bitfield",
"url":20,
"doc":"is_zero_bitfield(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_unaligned",
"url":20,
"doc":"is_unaligned(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_baseclass",
"url":20,
"doc":"is_baseclass(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_virtbase",
"url":20,
"doc":"is_virtbase(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_vftable",
"url":20,
"doc":"is_vftable(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_method",
"url":20,
"doc":"is_method(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_gap",
"url":20,
"doc":"is_gap(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_regcmt",
"url":20,
"doc":"is_regcmt(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_retaddr",
"url":20,
"doc":"is_retaddr(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_savregs",
"url":20,
"doc":"is_savregs(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_special_member",
"url":20,
"doc":"is_special_member(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_by_til",
"url":20,
"doc":"is_by_til(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.set_unaligned",
"url":20,
"doc":"set_unaligned(self, on=True) @param on: bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.set_baseclass",
"url":20,
"doc":"set_baseclass(self, on=True) @param on: bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.set_virtbase",
"url":20,
"doc":"set_virtbase(self, on=True) @param on: bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.set_vftable",
"url":20,
"doc":"set_vftable(self, on=True) @param on: bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.set_method",
"url":20,
"doc":"set_method(self, on=True) @param on: bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.set_regcmt",
"url":20,
"doc":"set_regcmt(self, on=True) @param on: bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.set_retaddr",
"url":20,
"doc":"set_retaddr(self, on=True) @param on: bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.set_savregs",
"url":20,
"doc":"set_savregs(self, on=True) @param on: bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.set_by_til",
"url":20,
"doc":"set_by_til(self, on=True) @param on: bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.clr_unaligned",
"url":20,
"doc":"clr_unaligned(self)",
"func":1
},
{
"ref":"ida_typeinf.udm_t.clr_baseclass",
"url":20,
"doc":"clr_baseclass(self)",
"func":1
},
{
"ref":"ida_typeinf.udm_t.clr_virtbase",
"url":20,
"doc":"clr_virtbase(self)",
"func":1
},
{
"ref":"ida_typeinf.udm_t.clr_vftable",
"url":20,
"doc":"clr_vftable(self)",
"func":1
},
{
"ref":"ida_typeinf.udm_t.clr_method",
"url":20,
"doc":"clr_method(self)",
"func":1
},
{
"ref":"ida_typeinf.udm_t.begin",
"url":20,
"doc":"begin(self) -> uint64",
"func":1
},
{
"ref":"ida_typeinf.udm_t.end",
"url":20,
"doc":"end(self) -> uint64",
"func":1
},
{
"ref":"ida_typeinf.udm_t.swap",
"url":20,
"doc":"swap(self, r) @param r: udm_t &",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_anonymous_udm",
"url":20,
"doc":"is_anonymous_udm(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.make_gap",
"url":20,
"doc":"make_gap(self, byteoff, nbytes) -> bool @param byteoff: uval_t @param nbytes: uval_t",
"func":1
},
{
"ref":"ida_typeinf.udm_t.set_value_repr",
"url":20,
"doc":"set_value_repr(self, r) @param r: value_repr_t const &",
"func":1
},
{
"ref":"ida_typeinf.udm_t.can_be_dtor",
"url":20,
"doc":"can_be_dtor(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.can_rename",
"url":20,
"doc":"can_rename(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_t",
"url":20,
"doc":"Proxy of C udtmembervec_t class. __init__(self) -> udtmembervec_t"
},
{
"ref":"ida_typeinf.udtmembervec_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.udtmembervec_t.push_back",
"url":20,
"doc":"push_back(self, x) @param x: udm_t const & push_back(self) -> udm_t",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_t.pop_back",
"url":20,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_t.size",
"url":20,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_t.empty",
"url":20,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_t.at",
"url":20,
"doc":"at(self, _idx) -> udm_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_t.qclear",
"url":20,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_t.clear",
"url":20,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_t.resize",
"url":20,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: udm_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_t.grow",
"url":20,
"doc":"grow(self, x=udm_t( @param x: udm_t const &",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_t.capacity",
"url":20,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_t.reserve",
"url":20,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_t.truncate",
"url":20,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_t.swap",
"url":20,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_t.extract",
"url":20,
"doc":"extract(self) -> udm_t",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_t.inject",
"url":20,
"doc":"inject(self, s, len) @param s: udm_t  @param len: size_t",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_t.begin",
"url":20,
"doc":"begin(self) -> udm_t",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_t.end",
"url":20,
"doc":"end(self) -> udm_t",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_t.insert",
"url":20,
"doc":"insert(self, it, x) -> udm_t @param it: qvector  iterator @param x: udm_t const &",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_t.erase",
"url":20,
"doc":"erase(self, it) -> udm_t @param it: qvector  iterator erase(self, first, last) -> udm_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_t.find",
"url":20,
"doc":"find(self, x) -> udm_t @param x: udm_t const &",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_t.has",
"url":20,
"doc":"has(self, x) -> bool @param x: udm_t const &",
"func":1
},
{
"ref":"ida_typeinf.udtmembervec_t.add_unique",
"url":20,
"doc":"add_unique(self, x) -> bool @param x: udm_t const &",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t",
"url":20,
"doc":"Proxy of C udt_type_data_t class. __init__(self) -> udt_type_data_t"
},
{
"ref":"ida_typeinf.udt_type_data_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.udt_type_data_t.total_size",
"url":20,
"doc":"total structure size in bytes"
},
{
"ref":"ida_typeinf.udt_type_data_t.unpadded_size",
"url":20,
"doc":"unpadded structure size in bytes"
},
{
"ref":"ida_typeinf.udt_type_data_t.effalign",
"url":20,
"doc":"effective structure alignment (in bytes)"
},
{
"ref":"ida_typeinf.udt_type_data_t.taudt_bits",
"url":20,
"doc":"TA . and TAUDT . bits."
},
{
"ref":"ida_typeinf.udt_type_data_t.version",
"url":20,
"doc":"version of udt_type_data_t"
},
{
"ref":"ida_typeinf.udt_type_data_t.sda",
"url":20,
"doc":"declared structure alignment (shift amount+1). 0 - unspecified"
},
{
"ref":"ida_typeinf.udt_type_data_t.pack",
"url":20,
"doc":" pragma pack() alignment (shift amount)"
},
{
"ref":"ida_typeinf.udt_type_data_t.is_union",
"url":20,
"doc":"is union or struct?"
},
{
"ref":"ida_typeinf.udt_type_data_t.swap",
"url":20,
"doc":"swap(self, r) @param r: udt_type_data_t &",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.is_unaligned",
"url":20,
"doc":"is_unaligned(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.is_msstruct",
"url":20,
"doc":"is_msstruct(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.is_cppobj",
"url":20,
"doc":"is_cppobj(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.is_vftable",
"url":20,
"doc":"is_vftable(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.is_fixed",
"url":20,
"doc":"is_fixed(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.set_vftable",
"url":20,
"doc":"set_vftable(self, on=True) @param on: bool",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.set_fixed",
"url":20,
"doc":"set_fixed(self, on=True) @param on: bool",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.is_last_baseclass",
"url":20,
"doc":"is_last_baseclass(self, idx) -> bool @param idx: size_t",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.find_member",
"url":20,
"doc":"find_member(self, pattern_udm, strmem_flags) -> ssize_t @param pattern_udm: udm_t  @param strmem_flags: int find_member(self, name) -> ssize_t @param name: char const  find_member(self, bit_offset) -> ssize_t @param bit_offset: uint64",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.get_best_fit_member",
"url":20,
"doc":"get_best_fit_member(self, disp) -> ssize_t Get member that is most likely referenced by the specified offset. Useful for offsets > sizeof(struct). @param disp: (C : asize_t)",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.push_back",
"url":20,
"doc":"push_back(self, x) @param x: udm_t const & push_back(self) -> udm_t",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.pop_back",
"url":20,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.size",
"url":20,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.empty",
"url":20,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.at",
"url":20,
"doc":"at(self, _idx) -> udm_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.qclear",
"url":20,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.clear",
"url":20,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.resize",
"url":20,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: udm_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.grow",
"url":20,
"doc":"grow(self, x=udm_t( @param x: udm_t const &",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.capacity",
"url":20,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.reserve",
"url":20,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.truncate",
"url":20,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.extract",
"url":20,
"doc":"extract(self) -> udm_t",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.inject",
"url":20,
"doc":"inject(self, s, len) @param s: udm_t  @param len: size_t",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.begin",
"url":20,
"doc":"begin(self) -> udm_t",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.end",
"url":20,
"doc":"end(self) -> udm_t",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.insert",
"url":20,
"doc":"insert(self, it, x) -> udm_t @param it: qvector  iterator @param x: udm_t const &",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.erase",
"url":20,
"doc":"erase(self, it) -> udm_t @param it: qvector  iterator erase(self, first, last) -> udm_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.find",
"url":20,
"doc":"find(self, x) -> udm_t @param x: udm_t const &",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.has",
"url":20,
"doc":"has(self, x) -> bool @param x: udm_t const &",
"func":1
},
{
"ref":"ida_typeinf.udt_type_data_t.add_unique",
"url":20,
"doc":"add_unique(self, x) -> bool @param x: udm_t const &",
"func":1
},
{
"ref":"ida_typeinf.STRUC_SEPARATOR",
"url":20,
"doc":"structname.fieldname"
},
{
"ref":"ida_typeinf.stroff_as_size",
"url":20,
"doc":"stroff_as_size(plen, tif, value) -> bool Should display a structure offset expression as the structure size? @param plen: (C : int) @param tif: (C : const tinfo_t &) tinfo_t const & @param value: (C : asize_t)",
"func":1
},
{
"ref":"ida_typeinf.udm_visitor_t",
"url":20,
"doc":"Proxy of C udm_visitor_t class. __init__(self) -> udm_visitor_t @param self: PyObject  "
},
{
"ref":"ida_typeinf.udm_visitor_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.udm_visitor_t.visit_udm",
"url":20,
"doc":"visit_udm(self, tid, tif, udt, idx) -> int @param tid: (C : tid_t) udt tid @param tif: (C : const tinfo_t  ) udt type info (may be nullptr for corrupted idbs) @param udt: (C : const udt_type_data_t  ) udt type data (may be nullptr for corrupted idbs) @param idx: (C : ssize_t) the index of udt the member (may be -1 if udm was not found)",
"func":1
},
{
"ref":"ida_typeinf.visit_stroff_udms",
"url":20,
"doc":"visit_stroff_udms(sfv, path, disp, appzero) -> int Visit structure fields in a stroff expression or in a reference to a struct data variable. This function can be used to enumerate all components of an expression like 'a.b.c'. @param sfv: (C : udm_visitor_t &) visitor object @param path: (C : const tid_t  ) struct path (path[0] contains the initial struct id) @param disp: (C : adiff_t  ) offset into structure @param appzero: (C : bool) should visit field at offset zero? @return: visitor result",
"func":1
},
{
"ref":"ida_typeinf.bitfield_type_data_t",
"url":20,
"doc":"Proxy of C bitfield_type_data_t class. __init__(self, _nbytes=0, _width=0, _is_unsigned=False) -> bitfield_type_data_t @param _nbytes: uchar @param _width: uchar @param _is_unsigned: bool"
},
{
"ref":"ida_typeinf.bitfield_type_data_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.bitfield_type_data_t.nbytes",
"url":20,
"doc":"enclosing type size (1,2,4,8 bytes)"
},
{
"ref":"ida_typeinf.bitfield_type_data_t.width",
"url":20,
"doc":"number of bits"
},
{
"ref":"ida_typeinf.bitfield_type_data_t.is_unsigned",
"url":20,
"doc":"is bitfield unsigned?"
},
{
"ref":"ida_typeinf.bitfield_type_data_t.compare",
"url":20,
"doc":"compare(self, r) -> int @param r: bitfield_type_data_t const &",
"func":1
},
{
"ref":"ida_typeinf.bitfield_type_data_t.swap",
"url":20,
"doc":"swap(self, r) @param r: bitfield_type_data_t &",
"func":1
},
{
"ref":"ida_typeinf.bitfield_type_data_t.is_valid_bitfield",
"url":20,
"doc":"is_valid_bitfield(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.is_one_bit_mask",
"url":20,
"doc":"is_one_bit_mask(mask) -> bool Is bitmask one bit? @param mask: (C : uval_t)",
"func":1
},
{
"ref":"ida_typeinf.inf_pack_stkargs",
"url":20,
"doc":"inf_pack_stkargs() -> bool inf_pack_stkargs(cc) -> bool @param cc: cm_t",
"func":1
},
{
"ref":"ida_typeinf.inf_big_arg_align",
"url":20,
"doc":"inf_big_arg_align() -> bool inf_big_arg_align(cc) -> bool @param cc: cm_t",
"func":1
},
{
"ref":"ida_typeinf.inf_huge_arg_align",
"url":20,
"doc":"inf_huge_arg_align() -> bool inf_huge_arg_align(cc) -> bool @param cc: cm_t",
"func":1
},
{
"ref":"ida_typeinf.type_mods_t",
"url":20,
"doc":"Proxy of C type_mods_t class. __init__(self) -> type_mods_t"
},
{
"ref":"ida_typeinf.type_mods_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.type_mods_t.type",
"url":20,
"doc":"current type"
},
{
"ref":"ida_typeinf.type_mods_t.name",
"url":20,
"doc":"current type name"
},
{
"ref":"ida_typeinf.type_mods_t.cmt",
"url":20,
"doc":"comment for current type"
},
{
"ref":"ida_typeinf.type_mods_t.flags",
"url":20,
"doc":"Type modification bits"
},
{
"ref":"ida_typeinf.type_mods_t.clear",
"url":20,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_typeinf.type_mods_t.set_new_type",
"url":20,
"doc":"set_new_type(self, t) The visit_type() function may optionally save the modified type info. Use the following functions for that. The new name and comment will be applied only if the current tinfo element has storage for them. @param t: (C : const tinfo_t &) tinfo_t const &",
"func":1
},
{
"ref":"ida_typeinf.type_mods_t.set_new_name",
"url":20,
"doc":"set_new_name(self, n) @param n: qstring const &",
"func":1
},
{
"ref":"ida_typeinf.type_mods_t.set_new_cmt",
"url":20,
"doc":"set_new_cmt(self, c, rptcmt) @param c: qstring const & @param rptcmt: bool",
"func":1
},
{
"ref":"ida_typeinf.type_mods_t.has_type",
"url":20,
"doc":"has_type(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.type_mods_t.has_name",
"url":20,
"doc":"has_name(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.type_mods_t.has_cmt",
"url":20,
"doc":"has_cmt(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.type_mods_t.is_rptcmt",
"url":20,
"doc":"is_rptcmt(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.type_mods_t.has_info",
"url":20,
"doc":"has_info(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.TVIS_TYPE",
"url":20,
"doc":"new type info is present"
},
{
"ref":"ida_typeinf.TVIS_NAME",
"url":20,
"doc":"new name is present (only for funcargs and udt members)"
},
{
"ref":"ida_typeinf.TVIS_CMT",
"url":20,
"doc":"new comment is present (only for udt members)"
},
{
"ref":"ida_typeinf.TVIS_RPTCMT",
"url":20,
"doc":"the new comment is repeatable"
},
{
"ref":"ida_typeinf.tinfo_visitor_t",
"url":20,
"doc":"Proxy of C tinfo_visitor_t class. __init__(self, s=0) -> tinfo_visitor_t @param s: int"
},
{
"ref":"ida_typeinf.tinfo_visitor_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.tinfo_visitor_t.state",
"url":20,
"doc":"tinfo visitor states"
},
{
"ref":"ida_typeinf.tinfo_visitor_t.visit_type",
"url":20,
"doc":"visit_type(self, out, tif, name, cmt) -> int Visit a subtype. this function must be implemented in the derived class. it may optionally fill out with the new type info. this can be used to modify types (in this case the 'out' argument of apply_to() may not be nullptr) return 0 to continue the traversal. return !=0 to stop the traversal. @param out: (C : type_mods_t  ) @param tif: (C : const tinfo_t &) tinfo_t const & @param name: (C : const char  ) char const  @param cmt: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_typeinf.tinfo_visitor_t.prune_now",
"url":20,
"doc":"prune_now(self) To refuse to visit children of the current type, use this:",
"func":1
},
{
"ref":"ida_typeinf.tinfo_visitor_t.apply_to",
"url":20,
"doc":"apply_to(self, tif, out=None, name=None, cmt=None) -> int Call this function to initiate the traversal. @param tif: (C : const tinfo_t &) tinfo_t const & @param out: (C : type_mods_t  ) @param name: (C : const char  ) char const  @param cmt: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_typeinf.TVST_PRUNE",
"url":20,
"doc":"don't visit children of current type"
},
{
"ref":"ida_typeinf.TVST_DEF",
"url":20,
"doc":"visit type definition (meaningful for typerefs)"
},
{
"ref":"ida_typeinf.regobj_t",
"url":20,
"doc":"Proxy of C regobj_t class. __init__(self) -> regobj_t"
},
{
"ref":"ida_typeinf.regobj_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.regobj_t.regidx",
"url":20,
"doc":"index into dbg->registers"
},
{
"ref":"ida_typeinf.regobj_t.relocate",
"url":20,
"doc":"0-plain num, 1-must relocate"
},
{
"ref":"ida_typeinf.regobj_t.value",
"url":20,
"doc":"value"
},
{
"ref":"ida_typeinf.regobj_t.size",
"url":20,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.regobjs_t",
"url":20,
"doc":"Proxy of C regobjs_t class. __init__(self) -> regobjs_t"
},
{
"ref":"ida_typeinf.regobjs_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.regobjs_t.push_back",
"url":20,
"doc":"push_back(self, x) @param x: regobj_t const & push_back(self) -> regobj_t",
"func":1
},
{
"ref":"ida_typeinf.regobjs_t.pop_back",
"url":20,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_typeinf.regobjs_t.size",
"url":20,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.regobjs_t.empty",
"url":20,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.regobjs_t.at",
"url":20,
"doc":"at(self, _idx) -> regobj_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_typeinf.regobjs_t.qclear",
"url":20,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_typeinf.regobjs_t.clear",
"url":20,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_typeinf.regobjs_t.resize",
"url":20,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: regobj_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_typeinf.regobjs_t.grow",
"url":20,
"doc":"grow(self, x=regobj_t( @param x: regobj_t const &",
"func":1
},
{
"ref":"ida_typeinf.regobjs_t.capacity",
"url":20,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.regobjs_t.reserve",
"url":20,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_typeinf.regobjs_t.truncate",
"url":20,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_typeinf.regobjs_t.swap",
"url":20,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_typeinf.regobjs_t.extract",
"url":20,
"doc":"extract(self) -> regobj_t",
"func":1
},
{
"ref":"ida_typeinf.regobjs_t.inject",
"url":20,
"doc":"inject(self, s, len) @param s: regobj_t  @param len: size_t",
"func":1
},
{
"ref":"ida_typeinf.regobjs_t.begin",
"url":20,
"doc":"begin(self) -> regobj_t",
"func":1
},
{
"ref":"ida_typeinf.regobjs_t.end",
"url":20,
"doc":"end(self) -> regobj_t",
"func":1
},
{
"ref":"ida_typeinf.regobjs_t.insert",
"url":20,
"doc":"insert(self, it, x) -> regobj_t @param it: qvector  iterator @param x: regobj_t const &",
"func":1
},
{
"ref":"ida_typeinf.regobjs_t.erase",
"url":20,
"doc":"erase(self, it) -> regobj_t @param it: qvector  iterator erase(self, first, last) -> regobj_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_typeinf.unpack_idcobj_from_idb",
"url":20,
"doc":"unpack_idcobj_from_idb(obj, tif, ea, off0, pio_flags=0) -> error_t Collection of register objects. Read a typed idc object from the database @param obj: (C : idc_value_t  ) @param tif: (C : const tinfo_t &) tinfo_t const & @param ea: (C : ea_t) @param off0: (C : const bytevec_t  ) bytevec_t const  @param pio_flags: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.PIO_NOATTR_FAIL",
"url":20,
"doc":"missing attributes are not ok"
},
{
"ref":"ida_typeinf.PIO_IGNORE_PTRS",
"url":20,
"doc":"do not follow pointers"
},
{
"ref":"ida_typeinf.unpack_idcobj_from_bv",
"url":20,
"doc":"unpack_idcobj_from_bv(obj, tif, bytes, pio_flags=0) -> error_t Read a typed idc object from the byte vector. @param obj: (C : idc_value_t  ) @param tif: (C : const tinfo_t &) tinfo_t const & @param bytes: (C : const bytevec_t &) bytevec_t const & @param pio_flags: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.pack_idcobj_to_idb",
"url":20,
"doc":"pack_idcobj_to_idb(obj, tif, ea, pio_flags=0) -> error_t Write a typed idc object to the database. @param obj: (C : const idc_value_t  ) idc_value_t const  @param tif: (C : const tinfo_t &) tinfo_t const & @param ea: (C : ea_t) @param pio_flags: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.pack_idcobj_to_bv",
"url":20,
"doc":"pack_idcobj_to_bv(obj, tif, bytes, objoff, pio_flags=0) -> error_t Write a typed idc object to the byte vector. Byte vector may be non-empty, this function will append data to it @param obj: (C : const idc_value_t  ) idc_value_t const  @param tif: (C : const tinfo_t &) tinfo_t const & @param bytes: (C : relobj_t  ) @param objoff: (C : void  ) @param pio_flags: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.apply_tinfo_to_stkarg",
"url":20,
"doc":"apply_tinfo_to_stkarg(insn, x, v, tif, name) -> bool Helper function for the processor modules. to be called from processor_t use_stkarg_type @param insn: (C : const insn_t &) an ida_ua.insn_t, or an address (C : const insn_t &) @param x: (C : const op_t &) op_t const & @param v: (C : uval_t) @param tif: (C : const tinfo_t &) tinfo_t const & @param name: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_typeinf.argtinfo_helper_t",
"url":20,
"doc":"Proxy of C argtinfo_helper_t class. __init__(self) -> argtinfo_helper_t @param self: PyObject  "
},
{
"ref":"ida_typeinf.argtinfo_helper_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.argtinfo_helper_t.reserved",
"url":20,
"doc":"reserved"
},
{
"ref":"ida_typeinf.argtinfo_helper_t.set_op_tinfo",
"url":20,
"doc":"set_op_tinfo(self, insn, x, tif, name) -> bool Set the operand type as specified. @param insn: (C : const insn_t &) an ida_ua.insn_t, or an address (C : const insn_t &) @param x: (C : const op_t &) op_t const & @param tif: (C : const tinfo_t &) tinfo_t const & @param name: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_typeinf.argtinfo_helper_t.is_stkarg_load",
"url":20,
"doc":"is_stkarg_load(self, insn, src, dst) -> bool Is the current insn a stkarg load?. if yes:  src: index of the source operand in insn_t ops  dst: index of the destination operand in insn_t ops insn_t ops[dst].addr is expected to have the stack offset @param insn: (C : const insn_t &) an ida_ua.insn_t, or an address (C : const insn_t &) @param src: (C : int  ) @param dst: (C : int  )",
"func":1
},
{
"ref":"ida_typeinf.argtinfo_helper_t.has_delay_slot",
"url":20,
"doc":"has_delay_slot(self, arg0) -> bool The call instruction with a delay slot?. @param arg0: ea_t",
"func":1
},
{
"ref":"ida_typeinf.argtinfo_helper_t.use_arg_tinfos",
"url":20,
"doc":"use_arg_tinfos(self, caller, fti, rargs) This function is to be called by the processor module in response to ev_use_arg_types. @param caller: (C : ea_t) @param fti: (C : func_type_data_t  ) @param rargs: (C : funcargvec_t  )",
"func":1
},
{
"ref":"ida_typeinf.gen_use_arg_tinfos",
"url":20,
"doc":"gen_use_arg_tinfos(_this, caller, fti, rargs) Do not call this function directly, use argtinfo_helper_t. @param _this: (C : struct argtinfo_helper_t  ) argtinfo_helper_t  @param caller: (C : ea_t) @param fti: (C : func_type_data_t  ) @param rargs: (C : funcargvec_t  )",
"func":1
},
{
"ref":"ida_typeinf.func_has_stkframe_hole",
"url":20,
"doc":"func_has_stkframe_hole(ea, fti) -> bool Looks for a hole at the beginning of the stack arguments. Will make use of the IDB's func_t function at that place (if present) to help determine the presence of such a hole. @param ea: (C : ea_t) @param fti: (C : const func_type_data_t &) func_type_data_t const &",
"func":1
},
{
"ref":"ida_typeinf.lowertype_helper_t",
"url":20,
"doc":"Proxy of C lowertype_helper_t class."
},
{
"ref":"ida_typeinf.lowertype_helper_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.lowertype_helper_t.func_has_stkframe_hole",
"url":20,
"doc":"func_has_stkframe_hole(self, candidate, candidate_data) -> bool @param candidate: tinfo_t const & @param candidate_data: func_type_data_t const &",
"func":1
},
{
"ref":"ida_typeinf.lowertype_helper_t.get_func_purged_bytes",
"url":20,
"doc":"get_func_purged_bytes(self, candidate, candidate_data) -> int @param candidate: tinfo_t const & @param candidate_data: func_type_data_t const &",
"func":1
},
{
"ref":"ida_typeinf.ida_lowertype_helper_t",
"url":20,
"doc":"Proxy of C ida_lowertype_helper_t class. __init__(self, _tif, _ea, _pb) -> ida_lowertype_helper_t @param _tif: tinfo_t const & @param _ea: ea_t @param _pb: int"
},
{
"ref":"ida_typeinf.ida_lowertype_helper_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.ida_lowertype_helper_t.func_has_stkframe_hole",
"url":20,
"doc":"func_has_stkframe_hole(self, candidate, candidate_data) -> bool @param candidate: tinfo_t const & @param candidate_data: func_type_data_t const &",
"func":1
},
{
"ref":"ida_typeinf.ida_lowertype_helper_t.get_func_purged_bytes",
"url":20,
"doc":"get_func_purged_bytes(self, candidate, arg3) -> int @param candidate: tinfo_t const & @param arg3: func_type_data_t const &",
"func":1
},
{
"ref":"ida_typeinf.lower_type",
"url":20,
"doc":"lower_type(til, tif, name=None, _helper=None) -> int Lower type. Inspect the type and lower all function subtypes using lower_func_type(). We call the prototypes usually encountered in source files \"high level\" They may have implicit arguments, array arguments, big structure retvals, etc We introduce explicit arguments (i.e. 'this' pointer) and call the result \"low level prototype\". See FTI_HIGH. In order to improve heuristics for recognition of big structure retvals, it is recommended to pass a helper that will be used to make decisions. That helper will be used only for lowering 'tif', and not for the children types walked through by recursion. @retval 1: removed FTI_HIGH, @retval 2: made substantial changes @retval -1: failure @param til: (C : til_t  ) @param tif: (C : tinfo_t  ) @param name: (C : const char  ) char const  @param _helper: (C : lowertype_helper_t  )",
"func":1
},
{
"ref":"ida_typeinf.replace_ordinal_typerefs",
"url":20,
"doc":"replace_ordinal_typerefs(til, tif) -> int Replace references to ordinal types by name references. This function 'unties' the type from the current local type library and makes it easier to export it. @param til: (C : til_t  ) type library to use. may be nullptr. @param tif: (C : tinfo_t  ) type to modify (in/out) @retval number: of replaced subtypes, -1 on failure",
"func":1
},
{
"ref":"ida_typeinf.begin_type_updating",
"url":20,
"doc":"begin_type_updating(utp) Mark the beginning of a large update operation on the types. Can be used with add_enum_member(), add_struc_member, etc . Also see end_type_updating() @param utp: (C : update_type_t) enum update_type_t",
"func":1
},
{
"ref":"ida_typeinf.end_type_updating",
"url":20,
"doc":"end_type_updating(utp) Mark the end of a large update operation on the types (see begin_type_updating( @param utp: (C : update_type_t) enum update_type_t",
"func":1
},
{
"ref":"ida_typeinf.get_named_type_tid",
"url":20,
"doc":"get_named_type_tid(name) -> tid_t Get named local type TID @param name: (C : const char  ) type name @return: TID or BADADDR",
"func":1
},
{
"ref":"ida_typeinf.get_tid_name",
"url":20,
"doc":"get_tid_name(tid) -> str Get a type name for the specified TID @param tid: (C : tid_t) type TID @return: true if there is type with TID @note: this function is the inverse to get_named_type_tid",
"func":1
},
{
"ref":"ida_typeinf.get_tid_ordinal",
"url":20,
"doc":"get_tid_ordinal(tid) -> uint32 Get type ordinal number for TID @param tid: (C : tid_t) type/enum constant/udt member TID @return: type ordinal number or 0",
"func":1
},
{
"ref":"ida_typeinf.get_udm_by_fullname",
"url":20,
"doc":"get_udm_by_fullname(udm, fullname) -> ssize_t Get udt member by full name @param udm: (C : udm_t  ) member, can be NULL @param fullname: (C : const char  ) udt member name in format  . @return: member index into udt_type_data_t or -1",
"func":1
},
{
"ref":"ida_typeinf.get_idainfo_by_udm",
"url":20,
"doc":"get_idainfo_by_udm(flags, ti, udm, refinfo_ea=BADADDR) -> bool Calculate IDA info from udt member @param flags: (C : flags64_t  ) [out]: flags (see bytes.hpp) for udt member @param ti: (C : opinfo_t  ) [out]: additional representation information, see set_opinfo() @param udm: (C : const udm_t &) udt member @param refinfo_ea: (C : ea_t) if specified will be used to adjust the refinfo_t data @note: any output argument may be nullptr",
"func":1
},
{
"ref":"ida_typeinf.create_enum_type",
"url":20,
"doc":"create_enum_type(enum_name, ei, enum_width, sign, convert_to_bitmask, enum_cmt=None) -> tid_t Create type enum @param enum_name: (C : const char  ) type name @param ei: (C : enum_type_data_t &) enum type data @param enum_width: (C : int) the width of an enum element allowed values: 0 (unspecified),1,2,4,8,16,32,64 @param sign: (C : type_sign_t) enum sign @param convert_to_bitmask: (C : bool) try convert enum to bitmask enum @param enum_cmt: (C : const char  ) enum type comment @return: enum TID",
"func":1
},
{
"ref":"ida_typeinf.valstr_t",
"url":20,
"doc":"Proxy of C valstr_t class. __init__(self) -> valstr_t"
},
{
"ref":"ida_typeinf.valstr_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.valstr_t.oneline",
"url":20,
"doc":"result if printed on one line in UTF-8 encoding"
},
{
"ref":"ida_typeinf.valstr_t.length",
"url":20,
"doc":"length if printed on one line"
},
{
"ref":"ida_typeinf.valstr_t.members",
"url":20,
"doc":"strings for members, each member separately"
},
{
"ref":"ida_typeinf.valstr_t.info",
"url":20,
"doc":"additional info"
},
{
"ref":"ida_typeinf.valstr_t.props",
"url":20,
"doc":"temporary properties, used internally"
},
{
"ref":"ida_typeinf.VALSTR_OPEN",
"url":20,
"doc":"printed opening curly brace '{'"
},
{
"ref":"ida_typeinf.valstrs_t",
"url":20,
"doc":"Proxy of C valstrs_t class. __init__(self) -> valstrs_t"
},
{
"ref":"ida_typeinf.valstrs_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.valstrs_t.push_back",
"url":20,
"doc":"push_back(self, x) @param x: valstr_t const & push_back(self) -> valstr_t",
"func":1
},
{
"ref":"ida_typeinf.valstrs_t.pop_back",
"url":20,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_typeinf.valstrs_t.size",
"url":20,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.valstrs_t.empty",
"url":20,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.valstrs_t.at",
"url":20,
"doc":"at(self, _idx) -> valstr_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_typeinf.valstrs_t.qclear",
"url":20,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_typeinf.valstrs_t.clear",
"url":20,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_typeinf.valstrs_t.resize",
"url":20,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: valstr_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_typeinf.valstrs_t.grow",
"url":20,
"doc":"grow(self, x=valstr_t( @param x: valstr_t const &",
"func":1
},
{
"ref":"ida_typeinf.valstrs_t.capacity",
"url":20,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.valstrs_t.reserve",
"url":20,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_typeinf.valstrs_t.truncate",
"url":20,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_typeinf.valstrs_t.swap",
"url":20,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_typeinf.valstrs_t.extract",
"url":20,
"doc":"extract(self) -> valstr_t",
"func":1
},
{
"ref":"ida_typeinf.valstrs_t.inject",
"url":20,
"doc":"inject(self, s, len) @param s: valstr_t  @param len: size_t",
"func":1
},
{
"ref":"ida_typeinf.valstrs_t.begin",
"url":20,
"doc":"begin(self) -> valstr_t",
"func":1
},
{
"ref":"ida_typeinf.valstrs_t.end",
"url":20,
"doc":"end(self) -> valstr_t",
"func":1
},
{
"ref":"ida_typeinf.valstrs_t.insert",
"url":20,
"doc":"insert(self, it, x) -> valstr_t @param it: qvector  iterator @param x: valstr_t const &",
"func":1
},
{
"ref":"ida_typeinf.valstrs_t.erase",
"url":20,
"doc":"erase(self, it) -> valstr_t @param it: qvector  iterator erase(self, first, last) -> valstr_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_typeinf.text_sink_t",
"url":20,
"doc":"Proxy of C text_sink_t class. __init__(self) -> text_sink_t @param self: PyObject  "
},
{
"ref":"ida_typeinf.text_sink_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.PDF_INCL_DEPS",
"url":20,
"doc":"Include all type dependencies."
},
{
"ref":"ida_typeinf.PDF_DEF_FWD",
"url":20,
"doc":"Allow forward declarations."
},
{
"ref":"ida_typeinf.PDF_DEF_BASE",
"url":20,
"doc":"Include base types: __int8, __int16, etc "
},
{
"ref":"ida_typeinf.PDF_HEADER_CMT",
"url":20,
"doc":"Prepend output with a descriptive comment."
},
{
"ref":"ida_typeinf.calc_number_of_children",
"url":20,
"doc":"calc_number_of_children(loc, tif, dont_deref_ptr=False) -> int Calculate max number of lines of a formatted c data, when expanded (PTV_EXPAND). @param loc: (C : const argloc_t &) location of the data (ALOC_STATIC or ALOC_CUSTOM) @param tif: (C : const tinfo_t &) type info @param dont_deref_ptr: (C : bool) consider 'ea' as the ptr value @retval 0: data is not expandable @retval -1: error, see qerrno @retval else: the max number of lines",
"func":1
},
{
"ref":"ida_typeinf.get_enum_member_expr",
"url":20,
"doc":"get_enum_member_expr(tif, serial, value) -> str Return a C expression that can be used to represent an enum member. If the value does not correspond to any single enum member, this function tries to find a bitwise combination of enum members that correspond to it. If more than half of value bits do not match any enum members, it fails. @param tif: (C : const tinfo_t &) enumeration type @param serial: (C : int) which enumeration member to use (0 means the first with the given value) @param value: (C : uint64) value to search in the enumeration type @return: success",
"func":1
},
{
"ref":"ida_typeinf.til_symbol_t",
"url":20,
"doc":"Proxy of C til_symbol_t class. __init__(self, n=None, t=None) -> til_symbol_t @param n: char const  @param t: til_t const  "
},
{
"ref":"ida_typeinf.til_symbol_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.til_symbol_t.name",
"url":20,
"doc":"symbol name"
},
{
"ref":"ida_typeinf.til_symbol_t.til",
"url":20,
"doc":"pointer to til"
},
{
"ref":"ida_typeinf.predicate_t",
"url":20,
"doc":"Proxy of C predicate_t class. __init__(self) -> predicate_t @param self: PyObject  "
},
{
"ref":"ida_typeinf.predicate_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.predicate_t.should_display",
"url":20,
"doc":"should_display(self, til, name, type, fields) -> bool @param til: til_t const  @param name: char const  @param type: type_t const  @param fields: p_list const  ",
"func":1
},
{
"ref":"ida_typeinf.choose_named_type",
"url":20,
"doc":"choose_named_type(out_sym, root_til, title, ntf_flags, predicate=None) -> bool Choose a type from a type library. @param out_sym: (C : til_symbol_t  ) pointer to be filled with the chosen type @param root_til: (C : const til_t  ) pointer to starting til (the function will inspect the base tils if allowed by flags) @param title: (C : const char  ) title of listbox to display @param ntf_flags: (C : int) combination of Flags for named types @param predicate: (C : predicate_t  ) predicate to select types to display (maybe nullptr) @return: false if nothing is chosen, otherwise true",
"func":1
},
{
"ref":"ida_typeinf.choose_local_tinfo",
"url":20,
"doc":"choose_local_tinfo(ti, title, func=None, def_ord=0, ud=None) -> uint32 Choose a type from the local type library. @param ti: (C : const til_t  ) pointer to til @param title: (C : const char  ) title of listbox to display @param func: (C : local_tinfo_predicate_t  ) predicate to select types to display (maybe nullptr) @param def_ord: (C : uint32) ordinal to position cursor before choose @param ud: (C : void  ) user data @return:  0 means nothing is chosen, otherwise an ordinal number",
"func":1
},
{
"ref":"ida_typeinf.choose_local_tinfo_and_delta",
"url":20,
"doc":"choose_local_tinfo_and_delta(delta, ti, title, func=None, def_ord=0, ud=None) -> uint32 Choose a type from the local type library and specify the pointer shift value. @param delta: (C : int32  ) pointer shift value @param ti: (C : const til_t  ) pointer to til @param title: (C : const char  ) title of listbox to display @param func: (C : local_tinfo_predicate_t  ) predicate to select types to display (maybe nullptr) @param def_ord: (C : uint32) ordinal to position cursor before choose @param ud: (C : void  ) user data @return:  0 means nothing is chosen, otherwise an ordinal number",
"func":1
},
{
"ref":"ida_typeinf.til_type_ref_t",
"url":20,
"doc":"Proxy of C til_type_ref_t class. __init__(self) -> til_type_ref_t"
},
{
"ref":"ida_typeinf.til_type_ref_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.til_type_ref_t.cb",
"url":20,
"doc":"cb"
},
{
"ref":"ida_typeinf.til_type_ref_t.tif",
"url":20,
"doc":"tif"
},
{
"ref":"ida_typeinf.til_type_ref_t.cursor",
"url":20,
"doc":"cursor"
},
{
"ref":"ida_typeinf.til_type_ref_t.ordinal",
"url":20,
"doc":"ordinal"
},
{
"ref":"ida_typeinf.til_type_ref_t.is_writable",
"url":20,
"doc":"is_writable"
},
{
"ref":"ida_typeinf.til_type_ref_t.is_detached",
"url":20,
"doc":"is_detached"
},
{
"ref":"ida_typeinf.til_type_ref_t.is_forward",
"url":20,
"doc":"is_forward"
},
{
"ref":"ida_typeinf.til_type_ref_t.kind",
"url":20,
"doc":"kind"
},
{
"ref":"ida_typeinf.til_type_ref_t.memidx",
"url":20,
"doc":"memidx"
},
{
"ref":"ida_typeinf.til_type_ref_t.nmembers",
"url":20,
"doc":"nmembers"
},
{
"ref":"ida_typeinf.til_type_ref_t.udm",
"url":20,
"doc":"BTF_STRUCT or BTF_UNION: the current member."
},
{
"ref":"ida_typeinf.til_type_ref_t.total_size",
"url":20,
"doc":"total_size"
},
{
"ref":"ida_typeinf.til_type_ref_t.unpadded_size",
"url":20,
"doc":"unpadded_size"
},
{
"ref":"ida_typeinf.til_type_ref_t.last_udm_offset",
"url":20,
"doc":"last_udm_offset"
},
{
"ref":"ida_typeinf.til_type_ref_t.bucket_start",
"url":20,
"doc":"bucket_start"
},
{
"ref":"ida_typeinf.til_type_ref_t.bf_bitoff",
"url":20,
"doc":"bf_bitoff"
},
{
"ref":"ida_typeinf.til_type_ref_t.offset",
"url":20,
"doc":"offset"
},
{
"ref":"ida_typeinf.til_type_ref_t.edm",
"url":20,
"doc":"BTF_ENUM: the current enum member."
},
{
"ref":"ida_typeinf.til_type_ref_t.fa",
"url":20,
"doc":"BT_FUNC: the current argument, nullptr - ellipsis."
},
{
"ref":"ida_typeinf.til_type_ref_t.clear",
"url":20,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_typeinf.til_type_ref_t.on_member",
"url":20,
"doc":"on_member(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.til_type_ref_t.is_typedef",
"url":20,
"doc":"is_typedef(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.til_type_ref_t.is_struct",
"url":20,
"doc":"is_struct(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.til_type_ref_t.is_union",
"url":20,
"doc":"is_union(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.til_type_ref_t.is_enum",
"url":20,
"doc":"is_enum(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.til_type_ref_t.is_func",
"url":20,
"doc":"is_func(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.til_type_ref_t.is_udt",
"url":20,
"doc":"is_udt(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.idc_parse_decl",
"url":20,
"doc":"idc_parse_decl(ti, decl, flags) -> (str, bytes, bytes) or None @param ti: til_t  @param decl: char const  @param flags: int",
"func":1
},
{
"ref":"ida_typeinf.calc_type_size",
"url":20,
"doc":"calc_type_size(ti, tp) -> PyObject  Returns the size of a type @param ti: Type info library. 'None' can be passed. @param tp: serialized type byte string @return: - None on failure - The size of the type",
"func":1
},
{
"ref":"ida_typeinf.apply_type",
"url":20,
"doc":"apply_type(ti, type, fields, ea, flags) -> bool Apply the specified type to the address @param ti: Type info library. 'None' can be used. @param type: type_t const  @param fields: p_list const  @param ea: the address of the object @param flags: combination of TINFO_ . constants or 0 @return: Boolean",
"func":1
},
{
"ref":"ida_typeinf.get_arg_addrs",
"url":20,
"doc":"get_arg_addrs(caller) -> PyObject  Retrieve addresses of argument initialization instructions @param caller: the address of the call instruction @return: list of instruction addresses",
"func":1
},
{
"ref":"ida_typeinf.unpack_object_from_idb",
"url":20,
"doc":"unpack_object_from_idb(ti, type, fields, ea, pio_flags=0) -> PyObject @param ti: til_t  @param type: type_t const  @param fields: p_list const  @param ea: ea_t @param pio_flags: int",
"func":1
},
{
"ref":"ida_typeinf.unpack_object_from_bv",
"url":20,
"doc":"unpack_object_from_bv(ti, type, fields, bytes, pio_flags=0) -> PyObject Unpacks a buffer into an object. Returns the error_t returned by idaapi.pack_object_to_idb @param ti: Type info. 'None' can be passed. @param type: type_t const  @param fields: fields string (may be empty or None) @param bytes: the bytes to unpack @param pio_flags: flags used while unpacking @return: - tuple(0, err) on failure - tuple(1, obj) on success",
"func":1
},
{
"ref":"ida_typeinf.pack_object_to_idb",
"url":20,
"doc":"pack_object_to_idb(py_obj, ti, type, fields, ea, pio_flags=0) -> PyObject Write a typed object to the database. Raises an exception if wrong parameters were passed or conversion fails Returns the error_t returned by idaapi.pack_object_to_idb @param py_obj: PyObject  @param ti: Type info. 'None' can be passed. @param type: type_t const  @param fields: fields string (may be empty or None) @param ea: ea to be used while packing @param pio_flags: flags used while unpacking",
"func":1
},
{
"ref":"ida_typeinf.pack_object_to_bv",
"url":20,
"doc":"pack_object_to_bv(py_obj, ti, type, fields, base_ea, pio_flags=0) -> PyObject Packs a typed object to a string @param py_obj: PyObject  @param ti: Type info. 'None' can be passed. @param type: type_t const  @param fields: fields string (may be empty or None) @param base_ea: base ea used to relocate the pointers in the packed object @param pio_flags: flags used while unpacking @return: tuple(0, err_code) on failure tuple(1, packed_buf) on success",
"func":1
},
{
"ref":"ida_typeinf.idc_parse_types",
"url":20,
"doc":"idc_parse_types(input, flags) -> int @param input: char const  @param flags: int",
"func":1
},
{
"ref":"ida_typeinf.idc_get_type_raw",
"url":20,
"doc":"idc_get_type_raw(ea) -> PyObject  @param ea: ea_t",
"func":1
},
{
"ref":"ida_typeinf.idc_get_local_type_raw",
"url":20,
"doc":"idc_get_local_type_raw(ordinal) -> (bytes, bytes) @param ordinal: int",
"func":1
},
{
"ref":"ida_typeinf.idc_guess_type",
"url":20,
"doc":"idc_guess_type(ea) -> str @param ea: ea_t",
"func":1
},
{
"ref":"ida_typeinf.idc_get_type",
"url":20,
"doc":"idc_get_type(ea) -> str @param ea: ea_t",
"func":1
},
{
"ref":"ida_typeinf.idc_set_local_type",
"url":20,
"doc":"idc_set_local_type(ordinal, dcl, flags) -> int @param ordinal: int @param dcl: char const  @param flags: int",
"func":1
},
{
"ref":"ida_typeinf.idc_get_local_type",
"url":20,
"doc":"idc_get_local_type(ordinal, flags) -> str @param ordinal: int @param flags: int",
"func":1
},
{
"ref":"ida_typeinf.idc_print_type",
"url":20,
"doc":"idc_print_type(type, fields, name, flags) -> str @param type: type_t const  @param fields: p_list const  @param name: char const  @param flags: int",
"func":1
},
{
"ref":"ida_typeinf.idc_get_local_type_name",
"url":20,
"doc":"idc_get_local_type_name(ordinal) -> str @param ordinal: int",
"func":1
},
{
"ref":"ida_typeinf.get_named_type",
"url":20,
"doc":"get_named_type(til, name, ntf_flags) -> (int, bytes, bytes, NoneType, NoneType, int, int) Get a type data by its name. @param til: the type library @param name: the type name @param ntf_flags: a combination of NTF_ constants @return: None on failure tuple(code, type_str, fields_str, cmt, field_cmts, sclass, value) on success",
"func":1
},
{
"ref":"ida_typeinf.get_named_type64",
"url":20,
"doc":"get_named_type64(til, name, ntf_flags) -> (int, bytes, NoneType, NoneType, NoneType, int, int) See get_named_type() above. @note: If the value in the 'ti' library is 32-bit, it will be sign-extended before being stored in the 'value' pointer. @param til: til_t const  @param name: (C : const char  ) char const  @param ntf_flags: (C : int)",
"func":1
},
{
"ref":"ida_typeinf.print_decls",
"url":20,
"doc":"print_decls(printer, til, py_ordinals, flags) -> int Print types (and possibly their dependencies) in a format suitable for using in a header file. This is the reverse parse_decls(). @param printer: (C : text_sink_t &) a handler for printing text @param til: (C : const til_t  ) the type library holding the ordinals @param py_ordinals: ordinals of types to export. nullptr means: all ordinals in til @param pdf_flags: (C : uint32) flags for the algorithm. A combination of PDF_ constants @retval >0: the number of types exported @retval 0: an error occurred @retval <0: the negated number of types exported. There were minor errors and the resulting output might not be compilable.",
"func":1
},
{
"ref":"ida_typeinf.remove_tinfo_pointer",
"url":20,
"doc":"remove_tinfo_pointer(tif, name, til) -> (bool, NoneType), (bool, str) Remove pointer of a type. (i.e. convert \"char  \" into \"char\"). Optionally remove the \"lp\" (or similar) prefix of the input name. If the input type is not a pointer, then fail. @param tif: (C : tinfo_t  ) @param name: char const  @param til: (C : const til_t  ) til_t const  ",
"func":1
},
{
"ref":"ida_typeinf.get_numbered_type",
"url":20,
"doc":"get_numbered_type(til, ordinal) -> (bytes, NoneType, NoneType, NoneType, int), (bytes, bytes, NoneType, NoneType, int) Retrieve a type by its ordinal number. @param til: til_t const  @param ordinal: (C : uint32)",
"func":1
},
{
"ref":"ida_typeinf.set_numbered_type",
"url":20,
"doc":"set_numbered_type(ti, ordinal, ntf_flags, name, type, fields=None, cmt=None, fldcmts=None, sclass=None) -> tinfo_code_t @param ti: til_t  @param ordinal: uint32 @param ntf_flags: int @param name: char const  @param type: type_t const  @param fields: p_list const  @param cmt: char const  @param fldcmts: p_list const  @param sclass: sclass_t const  ",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t",
"url":20,
"doc":"Proxy of C qvector class. __init__(self) -> edmvec_t __init__(self, x) -> edmvec_t @param x: qvector const &"
},
{
"ref":"ida_typeinf.edmvec_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.edmvec_t.push_back",
"url":20,
"doc":"push_back(self, x) @param x: edm_t const & push_back(self) -> edm_t",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.pop_back",
"url":20,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.size",
"url":20,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.empty",
"url":20,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.at",
"url":20,
"doc":"at(self, _idx) -> edm_t @param _idx: size_t",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.qclear",
"url":20,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.clear",
"url":20,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.resize",
"url":20,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: edm_t const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.grow",
"url":20,
"doc":"grow(self, x=edm_t( @param x: edm_t const &",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.capacity",
"url":20,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.reserve",
"url":20,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.truncate",
"url":20,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.swap",
"url":20,
"doc":"swap(self, r) @param r: qvector &",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.extract",
"url":20,
"doc":"extract(self) -> edm_t",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.inject",
"url":20,
"doc":"inject(self, s, len) @param s: edm_t  @param len: size_t",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.begin",
"url":20,
"doc":"begin(self) -> edm_t",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.end",
"url":20,
"doc":"end(self) -> edm_t",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.insert",
"url":20,
"doc":"insert(self, it, x) -> edm_t @param it: qvector  iterator @param x: edm_t const &",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.erase",
"url":20,
"doc":"erase(self, it) -> edm_t @param it: qvector  iterator erase(self, first, last) -> edm_t @param first: qvector  iterator @param last: qvector  iterator",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.find",
"url":20,
"doc":"find(self, x) -> edm_t @param x: edm_t const &",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.has",
"url":20,
"doc":"has(self, x) -> bool @param x: edm_t const &",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.add_unique",
"url":20,
"doc":"add_unique(self, x) -> bool @param x: edm_t const &",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.front",
"url":20,
"doc":"",
"func":1
},
{
"ref":"ida_typeinf.edmvec_t.back",
"url":20,
"doc":"",
"func":1
},
{
"ref":"ida_typeinf.edm_t",
"url":20,
"doc":"Proxy of C edm_t class. __init__(self) -> edm_t"
},
{
"ref":"ida_typeinf.edm_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.edm_t.name",
"url":20,
"doc":"name"
},
{
"ref":"ida_typeinf.edm_t.cmt",
"url":20,
"doc":"cmt"
},
{
"ref":"ida_typeinf.edm_t.value",
"url":20,
"doc":"value"
},
{
"ref":"ida_typeinf.edm_t.swap",
"url":20,
"doc":"swap(self, r) @param r: edm_t &",
"func":1
},
{
"ref":"ida_typeinf.edm_t.get_tid",
"url":20,
"doc":"get_tid(self) -> tid_t",
"func":1
},
{
"ref":"ida_typeinf.udm_t",
"url":20,
"doc":"Proxy of C udm_t class. __init__(self) -> udm_t"
},
{
"ref":"ida_typeinf.udm_t.thisown",
"url":20,
"doc":"The membership flag"
},
{
"ref":"ida_typeinf.udm_t.offset",
"url":20,
"doc":"member offset in bits"
},
{
"ref":"ida_typeinf.udm_t.size",
"url":20,
"doc":"size in bits"
},
{
"ref":"ida_typeinf.udm_t.name",
"url":20,
"doc":"member name"
},
{
"ref":"ida_typeinf.udm_t.cmt",
"url":20,
"doc":"member comment"
},
{
"ref":"ida_typeinf.udm_t.type",
"url":20,
"doc":"member type"
},
{
"ref":"ida_typeinf.udm_t.repr",
"url":20,
"doc":"radix, refinfo, strpath, custom_id, strtype"
},
{
"ref":"ida_typeinf.udm_t.effalign",
"url":20,
"doc":"effective field alignment (in bytes)"
},
{
"ref":"ida_typeinf.udm_t.tafld_bits",
"url":20,
"doc":"TAH bits."
},
{
"ref":"ida_typeinf.udm_t.fda",
"url":20,
"doc":"field alignment (shift amount)"
},
{
"ref":"ida_typeinf.udm_t.is_bitfield",
"url":20,
"doc":"is_bitfield(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_zero_bitfield",
"url":20,
"doc":"is_zero_bitfield(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_unaligned",
"url":20,
"doc":"is_unaligned(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_baseclass",
"url":20,
"doc":"is_baseclass(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_virtbase",
"url":20,
"doc":"is_virtbase(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_vftable",
"url":20,
"doc":"is_vftable(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_method",
"url":20,
"doc":"is_method(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_gap",
"url":20,
"doc":"is_gap(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_regcmt",
"url":20,
"doc":"is_regcmt(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_retaddr",
"url":20,
"doc":"is_retaddr(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_savregs",
"url":20,
"doc":"is_savregs(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_special_member",
"url":20,
"doc":"is_special_member(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_by_til",
"url":20,
"doc":"is_by_til(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.set_unaligned",
"url":20,
"doc":"set_unaligned(self, on=True) @param on: bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.set_baseclass",
"url":20,
"doc":"set_baseclass(self, on=True) @param on: bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.set_virtbase",
"url":20,
"doc":"set_virtbase(self, on=True) @param on: bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.set_vftable",
"url":20,
"doc":"set_vftable(self, on=True) @param on: bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.set_method",
"url":20,
"doc":"set_method(self, on=True) @param on: bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.set_regcmt",
"url":20,
"doc":"set_regcmt(self, on=True) @param on: bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.set_retaddr",
"url":20,
"doc":"set_retaddr(self, on=True) @param on: bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.set_savregs",
"url":20,
"doc":"set_savregs(self, on=True) @param on: bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.set_by_til",
"url":20,
"doc":"set_by_til(self, on=True) @param on: bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.clr_unaligned",
"url":20,
"doc":"clr_unaligned(self)",
"func":1
},
{
"ref":"ida_typeinf.udm_t.clr_baseclass",
"url":20,
"doc":"clr_baseclass(self)",
"func":1
},
{
"ref":"ida_typeinf.udm_t.clr_virtbase",
"url":20,
"doc":"clr_virtbase(self)",
"func":1
},
{
"ref":"ida_typeinf.udm_t.clr_vftable",
"url":20,
"doc":"clr_vftable(self)",
"func":1
},
{
"ref":"ida_typeinf.udm_t.clr_method",
"url":20,
"doc":"clr_method(self)",
"func":1
},
{
"ref":"ida_typeinf.udm_t.begin",
"url":20,
"doc":"begin(self) -> uint64",
"func":1
},
{
"ref":"ida_typeinf.udm_t.end",
"url":20,
"doc":"end(self) -> uint64",
"func":1
},
{
"ref":"ida_typeinf.udm_t.swap",
"url":20,
"doc":"swap(self, r) @param r: udm_t &",
"func":1
},
{
"ref":"ida_typeinf.udm_t.is_anonymous_udm",
"url":20,
"doc":"is_anonymous_udm(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.make_gap",
"url":20,
"doc":"make_gap(self, byteoff, nbytes) -> bool @param byteoff: uval_t @param nbytes: uval_t",
"func":1
},
{
"ref":"ida_typeinf.udm_t.set_value_repr",
"url":20,
"doc":"set_value_repr(self, r) @param r: value_repr_t const &",
"func":1
},
{
"ref":"ida_typeinf.udm_t.can_be_dtor",
"url":20,
"doc":"can_be_dtor(self) -> bool",
"func":1
},
{
"ref":"ida_typeinf.udm_t.can_rename",
"url":20,
"doc":"can_rename(self) -> bool",
"func":1
},
{
"ref":"ida_ua",
"url":45,
"doc":"Functions that deal with the disassembling of program instructions. There are 2 kinds of functions:  functions that are called from the kernel to disassemble an instruction. These functions call IDP module for it.  functions that are called from IDP module to disassemble an instruction. We will call them 'helper functions'. Disassembly of an instruction is made in three steps: 1. analysis: ana.cpp 2. emulation: emu.cpp 3. conversion to text: out.cpp The kernel calls the IDP module to perform these steps. At first, the kernel always calls the analysis. The analyzer must decode the instruction and fill the insn_t instance that it receives through its callback. It must not change anything in the database. The second step, the emulation, is called for each instruction. This step must make necessary changes to the database, plan analysis of subsequent instructions, track register values, memory contents, etc. Please keep in mind that the kernel may call the emulation step for any address in the program - there is no ordering of addresses. Usually, the emulation is called for consecutive addresses but this is not guaranteed. The last step, conversion to text, is called each time an instruction is displayed on the screen. The kernel will always call the analysis step before calling the text conversion step. The emulation and the text conversion steps should use the information stored in the insn_t instance they receive. They should not access the bytes of the instruction and decode it again - this should only be done in the analysis step."
},
{
"ref":"ida_ua.operands_array",
"url":45,
"doc":"Proxy of C wrapped_array_t class. __init__(self, data) -> operands_array @param data: op_t (&)[8]"
},
{
"ref":"ida_ua.operands_array.thisown",
"url":45,
"doc":"The membership flag"
},
{
"ref":"ida_ua.operands_array.data",
"url":45,
"doc":"data"
},
{
"ref":"ida_ua.operands_array.bytes",
"url":45,
"doc":"_get_bytes(self) -> bytevec_t"
},
{
"ref":"ida_ua.op_t",
"url":45,
"doc":"Proxy of C op_t class. __init__(self) -> op_t"
},
{
"ref":"ida_ua.op_t.thisown",
"url":45,
"doc":"The membership flag"
},
{
"ref":"ida_ua.op_t.n",
"url":45,
"doc":"Number of operand (0,1,2). Initialized once at the start of work. You have no right to change its value."
},
{
"ref":"ida_ua.op_t.type",
"url":45,
"doc":"Type of operand (see Operand types)"
},
{
"ref":"ida_ua.op_t.offb",
"url":45,
"doc":"Offset of operand value from the instruction start (0 means unknown). Of course this field is meaningful only for certain types of operands. Leave it equal to zero if the operand has no offset. This offset should point to the 'interesting' part of operand. For example, it may point to the address of a function in call func or it may point to bytes holding '5' in mov ax, [bx+5] Usually bytes pointed to this offset are relocated (have fixup information)."
},
{
"ref":"ida_ua.op_t.offo",
"url":45,
"doc":"Same as offb (some operands have 2 numeric values used to form an operand). This field is used for the second part of operand if it exists. Currently this field is used only for outer offsets of Motorola processors. Leave it equal to zero if the operand has no offset."
},
{
"ref":"ida_ua.op_t.flags",
"url":45,
"doc":"Operand flags"
},
{
"ref":"ida_ua.op_t.set_shown",
"url":45,
"doc":"set_shown(self) Set operand to be shown.",
"func":1
},
{
"ref":"ida_ua.op_t.clr_shown",
"url":45,
"doc":"clr_shown(self) Set operand to hidden.",
"func":1
},
{
"ref":"ida_ua.op_t.shown",
"url":45,
"doc":"shown(self) -> bool Is operand set to be shown?",
"func":1
},
{
"ref":"ida_ua.op_t.dtype",
"url":45,
"doc":"Type of operand value (see Operand value types). Usually first 9 types are used. This is the type of the operand itself, not the size of the addressing mode. for example, byte ptr [epb+32_bit_offset] will have dt_byte type."
},
{
"ref":"ida_ua.op_t.reg",
"url":45,
"doc":"number of register (o_reg)"
},
{
"ref":"ida_ua.op_t.phrase",
"url":45,
"doc":"number of register phrase (o_phrase,o_displ). you yourself define numbers of phrases as you like"
},
{
"ref":"ida_ua.op_t.is_reg",
"url":45,
"doc":"is_reg(self, r) -> bool Is register operand? @param r: (C : int)",
"func":1
},
{
"ref":"ida_ua.op_t.value",
"url":45,
"doc":"operand value (o_imm) or outer displacement (o_displ+OF_OUTER_DISP). integer values should be in IDA's (little-endian) order. when using ieee_realcvt(), floating point values should be in the processor's native byte order. dt_double and dt_qword values take up 8 bytes (value and addr fields for 32-bit modules). NB: in case a dt_dword/dt_qword immediate is forced to float by user, the kernel converts it to processor's native order before calling FP conversion routines."
},
{
"ref":"ida_ua.op_t.is_imm",
"url":45,
"doc":"is_imm(self, v) -> bool Is immediate operand? @param v: (C : uval_t)",
"func":1
},
{
"ref":"ida_ua.op_t.addr",
"url":45,
"doc":"virtual address pointed or used by the operand. (o_mem,o_displ,o_far,o_near)"
},
{
"ref":"ida_ua.op_t.specval",
"url":45,
"doc":"This field may be used as you want."
},
{
"ref":"ida_ua.op_t.specflag1",
"url":45,
"doc":"specflag1"
},
{
"ref":"ida_ua.op_t.specflag2",
"url":45,
"doc":"specflag2"
},
{
"ref":"ida_ua.op_t.specflag3",
"url":45,
"doc":"specflag3"
},
{
"ref":"ida_ua.op_t.specflag4",
"url":45,
"doc":"specflag4"
},
{
"ref":"ida_ua.op_t.assign",
"url":45,
"doc":"assign(self, other) @param other: op_t const &",
"func":1
},
{
"ref":"ida_ua.op_t.has_reg",
"url":45,
"doc":"Checks if the operand accesses the given processor register",
"func":1
},
{
"ref":"ida_ua.op_t.value64",
"url":45,
"doc":"__get_value64__(self) -> uint64"
},
{
"ref":"ida_ua.o_void",
"url":45,
"doc":"No Operand."
},
{
"ref":"ida_ua.o_reg",
"url":45,
"doc":"General Register (al,ax,es,ds .). The register number should be stored in op_t reg. All processor registers, including special registers, can be represented by this operand type."
},
{
"ref":"ida_ua.o_mem",
"url":45,
"doc":"Direct Memory Reference (DATA). A direct memory data reference whose target address is known at compilation time. The target virtual address is stored in op_t addr and the full address is calculated as to_ea( insn_t cs, op_t addr ). For the processors with complex memory organization the final address can be calculated using other segment registers. For flat memories, op_t addr is the final address and insn_t cs is usually equal to zero. In any case, the address within the segment should be stored in op_t addr."
},
{
"ref":"ida_ua.o_phrase",
"url":45,
"doc":"Memory Ref [Base Reg + Index Reg]. A memory reference using register contents. Indexed, register based, and other addressing modes can be represented with the operand type. This addressing mode cannot contain immediate values (use o_displ instead). The phrase number should be stored in op_t phrase. To denote the pre-increment and similar features please use additional operand fields like op_t specflag . Usually op_t phrase contains the register number and additional information is stored in op_t specflags . Please note that this operand type cannot contain immediate values (except the scaling coefficients)."
},
{
"ref":"ida_ua.o_displ",
"url":45,
"doc":"Memory Ref [Base Reg + Index Reg + Displacement]. A memory reference using register contents with displacement. The displacement should be stored in the op_t addr field. The rest of information is stored the same way as in o_phrase."
},
{
"ref":"ida_ua.o_imm",
"url":45,
"doc":"Immediate Value. Any operand consisting of only a number is represented by this operand type. The value should be stored in op_t value. You may sign extend short (1-2 byte) values. In any case don't forget to specify op_t dtype (should be set for all operand types)."
},
{
"ref":"ida_ua.o_far",
"url":45,
"doc":"Immediate Far Address (CODE). If the current processor has a special addressing mode for inter-segment references, then this operand type should be used instead of o_near. If you want, you may use PR_CHK_XREF in processor_t flag to disable inter-segment calls if o_near operand type is used. Currently only IBM PC uses this flag."
},
{
"ref":"ida_ua.o_near",
"url":45,
"doc":"Immediate Near Address (CODE). A direct memory code reference whose target address is known at the compilation time. The target virtual address is stored in op_t addr and the final address is always to_ea( insn_t cs, op_t addr). Usually this operand type is used for the branches and calls whose target address is known. If the current processor has 2 different types of references for inter-segment and intra-segment references, then this should be used only for intra-segment references. If the above operand types do not cover all possible addressing modes, then use o_idpspec . operand types."
},
{
"ref":"ida_ua.o_idpspec0",
"url":45,
"doc":"processor specific type."
},
{
"ref":"ida_ua.o_idpspec1",
"url":45,
"doc":"processor specific type."
},
{
"ref":"ida_ua.o_idpspec2",
"url":45,
"doc":"processor specific type."
},
{
"ref":"ida_ua.o_idpspec3",
"url":45,
"doc":"processor specific type."
},
{
"ref":"ida_ua.o_idpspec4",
"url":45,
"doc":"processor specific type."
},
{
"ref":"ida_ua.o_idpspec5",
"url":45,
"doc":"processor specific type. (there can be more processor specific types)"
},
{
"ref":"ida_ua.OF_NO_BASE_DISP",
"url":45,
"doc":"base displacement doesn't exist. meaningful only for o_displ type. if set, base displacement (op_t addr) doesn't exist."
},
{
"ref":"ida_ua.OF_OUTER_DISP",
"url":45,
"doc":"outer displacement exists. meaningful only for o_displ type. if set, outer displacement (op_t value) exists."
},
{
"ref":"ida_ua.PACK_FORM_DEF",
"url":45,
"doc":"packed factor defined. (!o_reg + dt_packreal)"
},
{
"ref":"ida_ua.OF_NUMBER",
"url":45,
"doc":"the operand can be converted to a number only"
},
{
"ref":"ida_ua.OF_SHOW",
"url":45,
"doc":"should the operand be displayed?"
},
{
"ref":"ida_ua.dt_byte",
"url":45,
"doc":"8 bit integer"
},
{
"ref":"ida_ua.dt_word",
"url":45,
"doc":"16 bit integer"
},
{
"ref":"ida_ua.dt_dword",
"url":45,
"doc":"32 bit integer"
},
{
"ref":"ida_ua.dt_float",
"url":45,
"doc":"4 byte floating point"
},
{
"ref":"ida_ua.dt_double",
"url":45,
"doc":"8 byte floating point"
},
{
"ref":"ida_ua.dt_tbyte",
"url":45,
"doc":"variable size ( processor_t tbyte_size) floating point"
},
{
"ref":"ida_ua.dt_packreal",
"url":45,
"doc":"packed real format for mc68040"
},
{
"ref":"ida_ua.dt_qword",
"url":45,
"doc":"64 bit integer"
},
{
"ref":"ida_ua.dt_byte16",
"url":45,
"doc":"128 bit integer"
},
{
"ref":"ida_ua.dt_code",
"url":45,
"doc":"ptr to code (not used?)"
},
{
"ref":"ida_ua.dt_void",
"url":45,
"doc":"none"
},
{
"ref":"ida_ua.dt_fword",
"url":45,
"doc":"48 bit"
},
{
"ref":"ida_ua.dt_bitfild",
"url":45,
"doc":"bit field (mc680x0)"
},
{
"ref":"ida_ua.dt_string",
"url":45,
"doc":"pointer to asciiz string"
},
{
"ref":"ida_ua.dt_unicode",
"url":45,
"doc":"pointer to unicode string"
},
{
"ref":"ida_ua.dt_ldbl",
"url":45,
"doc":"long double (which may be different from tbyte)"
},
{
"ref":"ida_ua.dt_byte32",
"url":45,
"doc":"256 bit integer"
},
{
"ref":"ida_ua.dt_byte64",
"url":45,
"doc":"512 bit integer"
},
{
"ref":"ida_ua.dt_half",
"url":45,
"doc":"2-byte floating point"
},
{
"ref":"ida_ua.insn_add_cref",
"url":45,
"doc":"insn_add_cref(insn, to, opoff, type) @param insn: an ida_ua.insn_t, or an address (C : const insn_t &) @param to: ea_t @param opoff: int @param type: enum cref_t",
"func":1
},
{
"ref":"ida_ua.insn_add_dref",
"url":45,
"doc":"insn_add_dref(insn, to, opoff, type) @param insn: an ida_ua.insn_t, or an address (C : const insn_t &) @param to: ea_t @param opoff: int @param type: enum dref_t",
"func":1
},
{
"ref":"ida_ua.insn_add_off_drefs",
"url":45,
"doc":"insn_add_off_drefs(insn, x, type, outf) -> ea_t @param insn: an ida_ua.insn_t, or an address (C : const insn_t &) @param x: op_t const & @param type: enum dref_t @param outf: int",
"func":1
},
{
"ref":"ida_ua.insn_create_stkvar",
"url":45,
"doc":"insn_create_stkvar(insn, x, v, flags) -> bool @param insn: an ida_ua.insn_t, or an address (C : const insn_t &) @param x: op_t const & @param v: adiff_t @param flags: int",
"func":1
},
{
"ref":"ida_ua.insn_t",
"url":45,
"doc":"Proxy of C insn_t class. __init__(self) -> insn_t"
},
{
"ref":"ida_ua.insn_t.thisown",
"url":45,
"doc":"The membership flag"
},
{
"ref":"ida_ua.insn_t.cs",
"url":45,
"doc":"Current segment base paragraph. Initialized by the kernel."
},
{
"ref":"ida_ua.insn_t.ip",
"url":45,
"doc":"Virtual address of the instruction (address within the segment). Initialized by the kernel."
},
{
"ref":"ida_ua.insn_t.ea",
"url":45,
"doc":"Linear address of the instruction. Initialized by the kernel."
},
{
"ref":"ida_ua.insn_t.itype",
"url":45,
"doc":"Internal code of instruction (only for canonical insns - not user defined!). IDP should define its own instruction codes. These codes are usually defined in ins.hpp. The array of instruction names and features (ins.cpp) is accessed using this code."
},
{
"ref":"ida_ua.insn_t.size",
"url":45,
"doc":"Size of instruction in bytes. The analyzer should put here the actual size of the instruction."
},
{
"ref":"ida_ua.insn_t.auxpref",
"url":45,
"doc":"processor dependent field"
},
{
"ref":"ida_ua.insn_t.auxpref_u16",
"url":45,
"doc":"auxpref_u16"
},
{
"ref":"ida_ua.insn_t.auxpref_u8",
"url":45,
"doc":"auxpref_u8"
},
{
"ref":"ida_ua.insn_t.segpref",
"url":45,
"doc":"processor dependent field"
},
{
"ref":"ida_ua.insn_t.insnpref",
"url":45,
"doc":"processor dependent field"
},
{
"ref":"ida_ua.insn_t.flags",
"url":45,
"doc":"Instruction flags"
},
{
"ref":"ida_ua.insn_t.ops",
"url":45,
"doc":"array of operands"
},
{
"ref":"ida_ua.insn_t.is_macro",
"url":45,
"doc":"is_macro(self) -> bool Is a macro instruction?",
"func":1
},
{
"ref":"ida_ua.insn_t.is_64bit",
"url":45,
"doc":"is_64bit(self) -> bool Belongs to a 64bit segment?",
"func":1
},
{
"ref":"ida_ua.insn_t.get_next_byte",
"url":45,
"doc":"get_next_byte(self) -> uint8",
"func":1
},
{
"ref":"ida_ua.insn_t.get_next_word",
"url":45,
"doc":"get_next_word(self) -> uint16",
"func":1
},
{
"ref":"ida_ua.insn_t.get_next_dword",
"url":45,
"doc":"get_next_dword(self) -> uint32",
"func":1
},
{
"ref":"ida_ua.insn_t.get_next_qword",
"url":45,
"doc":"get_next_qword(self) -> uint64",
"func":1
},
{
"ref":"ida_ua.insn_t.create_op_data",
"url":45,
"doc":"create_op_data(self, ea_, opoff, dtype) -> bool Convenient alias. @param ea_: (C : ea_t) @param opoff: int @param dtype: op_dtype_t create_op_data(self, ea_, op) -> bool @param ea_: ea_t @param op: op_t const &",
"func":1
},
{
"ref":"ida_ua.insn_t.create_stkvar",
"url":45,
"doc":"create_stkvar(self, x, v, flags_) -> bool Create or modify a stack variable in the function frame. The emulator could use this function to create stack variables in the function frame before converting the operand to a stack variable. Please check with may_create_stkvars() before calling this function. @param x: (C : const op_t &) operand (used to determine the addressing type) @param v: (C : adiff_t) a displacement in the operand @param flags_: (C : int) Stack variable flags @retval 1: ok, a stack variable exists now @retval 0: no, couldn't create stack variable",
"func":1
},
{
"ref":"ida_ua.insn_t.add_cref",
"url":45,
"doc":"add_cref(self, to, opoff, type) Add a code cross-reference from the instruction. @param to: (C : ea_t) target linear address @param opoff: (C : int) offset of the operand from the start of instruction. if the offset is unknown, then 0. @param type: (C : cref_t) type of xref",
"func":1
},
{
"ref":"ida_ua.insn_t.add_dref",
"url":45,
"doc":"add_dref(self, to, opoff, type) Add a data cross-reference from the instruction. See add_off_drefs() - usually it can be used in most cases. @param to: (C : ea_t) target linear address @param opoff: (C : int) offset of the operand from the start of instruction if the offset is unknown, then 0 @param type: (C : dref_t) type of xref",
"func":1
},
{
"ref":"ida_ua.insn_t.add_off_drefs",
"url":45,
"doc":"add_off_drefs(self, x, type, outf) -> ea_t Add xrefs for an operand of the instruction. This function creates all cross references for 'enum', 'offset' and 'structure offset' operands. Use add_off_drefs() in the presence of negative offsets. @param x: (C : const op_t &) reference to operand @param type: (C : dref_t) type of xref @param outf: (C : int) out_value() flags. These flags should match the flags used to output the operand @return: if is_off(): the reference target address (the same as calc_reference_data). if is_stroff(): BADADDR because for stroffs the target address is unknown else: BADADDR because enums do not represent addresses",
"func":1
},
{
"ref":"ida_ua.insn_t.assign",
"url":45,
"doc":"assign(self, other) @param other: an ida_ua.insn_t, or an address (C : const insn_t &)",
"func":1
},
{
"ref":"ida_ua.insn_t.is_canon_insn",
"url":45,
"doc":"is_canon_insn(self, ph) -> bool see processor_t is_canon_insn() @param ph: (C : const processor_t &) processor_t const & is_canon_insn(self) -> bool",
"func":1
},
{
"ref":"ida_ua.insn_t.get_canon_feature",
"url":45,
"doc":"get_canon_feature(self, ph) -> uint32 see instruc_t feature @param ph: (C : const processor_t &) processor_t const & get_canon_feature(self) -> uint32",
"func":1
},
{
"ref":"ida_ua.insn_t.get_canon_mnem",
"url":45,
"doc":"get_canon_mnem(self, ph) -> char const see instruc_t name @param ph: (C : const processor_t &) processor_t const & get_canon_mnem(self) -> char const  ",
"func":1
},
{
"ref":"ida_ua.insn_t.Op1",
"url":45,
"doc":""
},
{
"ref":"ida_ua.insn_t.Op2",
"url":45,
"doc":""
},
{
"ref":"ida_ua.insn_t.Op3",
"url":45,
"doc":""
},
{
"ref":"ida_ua.insn_t.Op4",
"url":45,
"doc":""
},
{
"ref":"ida_ua.insn_t.Op5",
"url":45,
"doc":""
},
{
"ref":"ida_ua.insn_t.Op6",
"url":45,
"doc":""
},
{
"ref":"ida_ua.insn_t.Op7",
"url":45,
"doc":""
},
{
"ref":"ida_ua.insn_t.Op8",
"url":45,
"doc":""
},
{
"ref":"ida_ua.INSN_MACRO",
"url":45,
"doc":"macro instruction"
},
{
"ref":"ida_ua.INSN_MODMAC",
"url":45,
"doc":"may modify the database to make room for the macro insn"
},
{
"ref":"ida_ua.INSN_64BIT",
"url":45,
"doc":"belongs to 64bit segment?"
},
{
"ref":"ida_ua.STKVAR_VALID_SIZE",
"url":45,
"doc":"x.dtype contains correct variable type (for insns like 'lea' this bit must be off). in general, dr_O references do not allow to determine the variable size"
},
{
"ref":"ida_ua.get_lookback",
"url":45,
"doc":"get_lookback() -> int Number of instructions to look back. This variable is not used by the kernel. Its value may be specified in ida.cfg: LOOKBACK =  . IDP may use it as you like it. (TMS module uses it)",
"func":1
},
{
"ref":"ida_ua.calc_dataseg",
"url":45,
"doc":"calc_dataseg(insn, n=-1, rgnum=-1) -> ea_t Get data segment for the instruction operand. 'opnum' and 'rgnum' are meaningful only if the processor has segment registers. @param insn: (C : const insn_t &) an ida_ua.insn_t, or an address (C : const insn_t &) @param n: (C : int) @param rgnum: (C : int)",
"func":1
},
{
"ref":"ida_ua.map_data_ea",
"url":45,
"doc":"map_data_ea(insn, addr, opnum=-1) -> ea_t @param insn: an ida_ua.insn_t, or an address (C : const insn_t &) @param addr: ea_t @param opnum: int map_data_ea(insn, op) -> ea_t @param insn: an ida_ua.insn_t, or an address (C : const insn_t &) @param op: op_t const &",
"func":1
},
{
"ref":"ida_ua.map_code_ea",
"url":45,
"doc":"map_code_ea(insn, addr, opnum) -> ea_t @param insn: an ida_ua.insn_t, or an address (C : const insn_t &) @param addr: ea_t @param opnum: int map_code_ea(insn, op) -> ea_t @param insn: an ida_ua.insn_t, or an address (C : const insn_t &) @param op: op_t const &",
"func":1
},
{
"ref":"ida_ua.map_ea",
"url":45,
"doc":"map_ea(insn, op, iscode) -> ea_t @param insn: an ida_ua.insn_t, or an address (C : const insn_t &) @param op: op_t const & @param iscode: bool map_ea(insn, addr, opnum, iscode) -> ea_t @param insn: an ida_ua.insn_t, or an address (C : const insn_t &) @param addr: ea_t @param opnum: int @param iscode: bool",
"func":1
},
{
"ref":"ida_ua.outctx_base_t",
"url":45,
"doc":"Proxy of C outctx_base_t class."
},
{
"ref":"ida_ua.outctx_base_t.thisown",
"url":45,
"doc":"The membership flag"
},
{
"ref":"ida_ua.outctx_base_t.insn_ea",
"url":45,
"doc":"insn_ea"
},
{
"ref":"ida_ua.outctx_base_t.outbuf",
"url":45,
"doc":"buffer for the current output line once ready, it is moved to lnar"
},
{
"ref":"ida_ua.outctx_base_t.F32",
"url":45,
"doc":"please use outctx_t F instead"
},
{
"ref":"ida_ua.outctx_base_t.default_lnnum",
"url":45,
"doc":"index of the most important line in lnar"
},
{
"ref":"ida_ua.outctx_base_t.only_main_line",
"url":45,
"doc":"only_main_line(self) -> bool",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.multiline",
"url":45,
"doc":"multiline(self) -> bool",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.force_code",
"url":45,
"doc":"force_code(self) -> bool",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.stack_view",
"url":45,
"doc":"stack_view(self) -> bool",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.display_voids",
"url":45,
"doc":"display_voids(self) -> bool",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.set_gen_xrefs",
"url":45,
"doc":"set_gen_xrefs(self, on=True) @param on: bool",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.set_gen_cmt",
"url":45,
"doc":"set_gen_cmt(self, on=True) @param on: bool",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.clr_gen_label",
"url":45,
"doc":"clr_gen_label(self)",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.set_gen_label",
"url":45,
"doc":"set_gen_label(self)",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.set_gen_demangled_label",
"url":45,
"doc":"set_gen_demangled_label(self)",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.set_comment_addr",
"url":45,
"doc":"set_comment_addr(self, ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.set_dlbind_opnd",
"url":45,
"doc":"set_dlbind_opnd(self)",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.print_label_now",
"url":45,
"doc":"print_label_now(self) -> bool",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.forbid_annotations",
"url":45,
"doc":"forbid_annotations(self) -> int",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.restore_ctxflags",
"url":45,
"doc":"restore_ctxflags(self, saved_flags) @param saved_flags: int",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.out_printf",
"url":45,
"doc":"out_printf(self, format) -> size_t Functions to append text to the current output buffer (outbuf) Append a formatted string to the output string. @param format: (C : const char  ) char const  @return: the number of characters appended",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.out_value",
"url":45,
"doc":"out_value(self, x, outf=0) -> flags64_t 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. @param x: (C : const op_t &) value to output @param outf: (C : int) Output value flags @return: 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",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.out_symbol",
"url":45,
"doc":"out_symbol(self, c) Output a character with COLOR_SYMBOL color. @param c: (C : char)",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.out_chars",
"url":45,
"doc":"out_chars(self, c, n) Append a character multiple times. @param c: (C : char) @param n: (C : int)",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.out_spaces",
"url":45,
"doc":"out_spaces(self, len) Appends spaces to outbuf until its tag_strlen becomes 'len'. @param len: (C : ssize_t)",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.out_line",
"url":45,
"doc":"out_line(self, str, color=0) Output a string with the specified color. @param str: (C : const char  ) char const  @param color: (C : color_t)",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.out_keyword",
"url":45,
"doc":"out_keyword(self, str) Output a string with COLOR_KEYWORD color. @param str: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.out_register",
"url":45,
"doc":"out_register(self, str) Output a character with COLOR_REG color. @param str: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.out_tagon",
"url":45,
"doc":"out_tagon(self, tag) Output \"turn color on\" escape sequence. @param tag: (C : color_t)",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.out_tagoff",
"url":45,
"doc":"out_tagoff(self, tag) Output \"turn color off\" escape sequence. @param tag: (C : color_t)",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.out_addr_tag",
"url":45,
"doc":"out_addr_tag(self, ea) Output \"address\" escape sequence. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.out_colored_register_line",
"url":45,
"doc":"out_colored_register_line(self, str) 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) @param str: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.out_char",
"url":45,
"doc":"out_char(self, c) Output one character. The character is output without color codes. see also out_symbol() @param c: (C : char)",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.out_btoa",
"url":45,
"doc":"out_btoa(self, Word, radix=0) Output a number with the specified base (binary, octal, decimal, hex) The number is output without color codes. see also out_long() @param Word: (C : uval_t) @param radix: (C : char)",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.out_long",
"url":45,
"doc":"out_long(self, v, radix) 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( @param v: (C : sval_t) value to output @param radix: (C : char) base (2,8,10,16)",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.out_name_expr",
"url":45,
"doc":"out_name_expr(self, x, ea, off=BADADDR) -> bool Output a name expression. @param x: (C : const op_t &) instruction operand referencing the name expression @param ea: (C : ea_t) address to convert to name expression @param off: (C : adiff_t) 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. @return: true if the name expression has been produced",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.close_comment",
"url":45,
"doc":"close_comment(self)",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.flush_outbuf",
"url":45,
"doc":"flush_outbuf(self, indent=-1) -> bool 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. @param indent: (C : int)",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.flush_buf",
"url":45,
"doc":"flush_buf(self, buf, indent=-1) -> bool Append contents of 'buf' to the line array. Behaves like flush_outbuf but accepts an arbitrary buffer @param buf: (C : const char  ) char const  @param indent: (C : int)",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.term_outctx",
"url":45,
"doc":"term_outctx(self, prefix=None) -> int Finalize the output context. @param prefix: (C : const char  ) char const  @return: the number of generated lines.",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.gen_printf",
"url":45,
"doc":"gen_printf(self, indent, format) -> bool printf-like function to add lines to the line array. @param indent: (C : int) 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. @param format: (C : const char  ) printf style colored line to generate @return: overflow, lnar_maxsize has been reached",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.gen_empty_line",
"url":45,
"doc":"gen_empty_line(self) -> bool Generate empty line. This function does nothing if generation of empty lines is disabled. @return: overflow, lnar_maxsize has been reached",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.gen_border_line",
"url":45,
"doc":"gen_border_line(self, solid=False) -> bool Generate thin border line. This function does nothing if generation of border lines is disabled. @param solid: (C : bool) generate solid border line (with =), otherwise with - @return: overflow, lnar_maxsize has been reached",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.gen_cmt_line",
"url":45,
"doc":"gen_cmt_line(self, format) -> bool Generate one non-indented comment line, colored with COLOR_AUTOCMT. @param format: (C : const char  ) printf() style format line. The resulting comment line should not include comment character (;) @return: overflow, lnar_maxsize has been reached",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.gen_collapsed_line",
"url":45,
"doc":"gen_collapsed_line(self, format) -> bool Generate one non-indented comment line, colored with COLOR_COLLAPSED. @param format: (C : const char  ) printf() style format line. The resulting comment line should not include comment character (;) @return: overflow, lnar_maxsize has been reached",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.gen_block_cmt",
"url":45,
"doc":"gen_block_cmt(self, cmt, color) -> bool Generate big non-indented comment lines. @param cmt: (C : const char  ) comment text. may contain \\n characters to denote new lines. should not contain comment character (;) @param color: (C : color_t) color of comment text (one of Color tags) @return: overflow, lnar_maxsize has been reached",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.setup_outctx",
"url":45,
"doc":"setup_outctx(self, prefix, makeline_flags) Initialization; normally used only by the kernel. @param prefix: (C : const char  ) char const  @param makeline_flags: (C : int)",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.retrieve_cmt",
"url":45,
"doc":"retrieve_cmt(self) -> ssize_t",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.retrieve_name",
"url":45,
"doc":"retrieve_name(self, arg2, arg3) -> ssize_t @param arg2: qstring  @param arg3: color_t  ",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.gen_xref_lines",
"url":45,
"doc":"gen_xref_lines(self) -> bool",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.init_lines_array",
"url":45,
"doc":"init_lines_array(self, answers, maxsize) @param answers: qstrvec_t  @param maxsize: int",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.get_stkvar",
"url":45,
"doc":"get_stkvar(self, x, v, vv, is_sp_based, _frame) -> ssize_t @param x: op_t const & @param v: uval_t @param vv: sval_t  @param is_sp_based: int  @param _frame: tinfo_t  ",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.gen_empty_line_without_annotations",
"url":45,
"doc":"gen_empty_line_without_annotations(self)",
"func":1
},
{
"ref":"ida_ua.outctx_base_t.getF",
"url":45,
"doc":"getF(self) -> flags64_t",
"func":1
},
{
"ref":"ida_ua.CTXF_MAIN",
"url":45,
"doc":"produce only the essential line(s)"
},
{
"ref":"ida_ua.CTXF_MULTI",
"url":45,
"doc":"enable multi-line essential lines"
},
{
"ref":"ida_ua.CTXF_CODE",
"url":45,
"doc":"display as code regardless of the database flags"
},
{
"ref":"ida_ua.CTXF_STACK",
"url":45,
"doc":"stack view (display undefined items as 2/4/8 bytes)"
},
{
"ref":"ida_ua.CTXF_GEN_XREFS",
"url":45,
"doc":"generate the xrefs along with the next line"
},
{
"ref":"ida_ua.CTXF_XREF_STATE",
"url":45,
"doc":"xref state:"
},
{
"ref":"ida_ua.XREFSTATE_NONE",
"url":45,
"doc":"not generated yet"
},
{
"ref":"ida_ua.XREFSTATE_GO",
"url":45,
"doc":"being generated"
},
{
"ref":"ida_ua.XREFSTATE_DONE",
"url":45,
"doc":"have been generated"
},
{
"ref":"ida_ua.CTXF_GEN_CMT",
"url":45,
"doc":"generate the comment along with the next line"
},
{
"ref":"ida_ua.CTXF_CMT_STATE",
"url":45,
"doc":"comment state:"
},
{
"ref":"ida_ua.COMMSTATE_NONE",
"url":45,
"doc":"not generated yet"
},
{
"ref":"ida_ua.COMMSTATE_GO",
"url":45,
"doc":"being generated"
},
{
"ref":"ida_ua.COMMSTATE_DONE",
"url":45,
"doc":"have been generated"
},
{
"ref":"ida_ua.CTXF_VOIDS",
"url":45,
"doc":"display void marks"
},
{
"ref":"ida_ua.CTXF_NORMAL_LABEL",
"url":45,
"doc":"generate plain label (+demangled label as cmt)"
},
{
"ref":"ida_ua.CTXF_DEMANGLED_LABEL",
"url":45,
"doc":"generate only demangled label as comment"
},
{
"ref":"ida_ua.CTXF_LABEL_OK",
"url":45,
"doc":"the label have been generated"
},
{
"ref":"ida_ua.CTXF_DEMANGLED_OK",
"url":45,
"doc":"the label has been demangled successfully"
},
{
"ref":"ida_ua.CTXF_OVSTORE_PRNT",
"url":45,
"doc":"out_value should store modified values"
},
{
"ref":"ida_ua.CTXF_OUTCTX_T",
"url":45,
"doc":"instance is, in fact, a outctx_t"
},
{
"ref":"ida_ua.CTXF_DBLIND_OPND",
"url":45,
"doc":"an operand was printed with double indirection (e.g. =var in arm)"
},
{
"ref":"ida_ua.CTXF_BINOP_STATE",
"url":45,
"doc":"opcode bytes state:"
},
{
"ref":"ida_ua.BINOPSTATE_NONE",
"url":45,
"doc":"not generated yet"
},
{
"ref":"ida_ua.BINOPSTATE_GO",
"url":45,
"doc":"being generated"
},
{
"ref":"ida_ua.BINOPSTATE_DONE",
"url":45,
"doc":"have been generated"
},
{
"ref":"ida_ua.CTXF_HIDDEN_ADDR",
"url":45,
"doc":"To generate an hidden addr tag at the beginning of the line."
},
{
"ref":"ida_ua.CTXF_BIT_PREFIX",
"url":45,
"doc":"generate a line prefix with a bit offset, e.g.: 12345678.3"
},
{
"ref":"ida_ua.OOF_SIGNMASK",
"url":45,
"doc":"sign symbol (+/-) output"
},
{
"ref":"ida_ua.OOFS_IFSIGN",
"url":45,
"doc":"output sign if needed"
},
{
"ref":"ida_ua.OOFS_NOSIGN",
"url":45,
"doc":"don't output sign, forbid the user to change the sign"
},
{
"ref":"ida_ua.OOFS_NEEDSIGN",
"url":45,
"doc":"always out sign (+-)"
},
{
"ref":"ida_ua.OOF_SIGNED",
"url":45,
"doc":"output as signed if < 0"
},
{
"ref":"ida_ua.OOF_NUMBER",
"url":45,
"doc":"always as a number"
},
{
"ref":"ida_ua.OOF_WIDTHMASK",
"url":45,
"doc":"width of value in bits"
},
{
"ref":"ida_ua.OOFW_IMM",
"url":45,
"doc":"take from x.dtype"
},
{
"ref":"ida_ua.OOFW_8",
"url":45,
"doc":"8 bit width"
},
{
"ref":"ida_ua.OOFW_16",
"url":45,
"doc":"16 bit width"
},
{
"ref":"ida_ua.OOFW_24",
"url":45,
"doc":"24 bit width"
},
{
"ref":"ida_ua.OOFW_32",
"url":45,
"doc":"32 bit width"
},
{
"ref":"ida_ua.OOFW_64",
"url":45,
"doc":"64 bit width"
},
{
"ref":"ida_ua.OOF_ADDR",
"url":45,
"doc":"output x.addr, otherwise x.value"
},
{
"ref":"ida_ua.OOF_OUTER",
"url":45,
"doc":"output outer operand"
},
{
"ref":"ida_ua.OOF_ZSTROFF",
"url":45,
"doc":"meaningful only if is_stroff(F); append a struct field name if the field offset is zero? if AFL_ZSTROFF is set, then this flag is ignored."
},
{
"ref":"ida_ua.OOF_NOBNOT",
"url":45,
"doc":"prohibit use of binary not"
},
{
"ref":"ida_ua.OOF_SPACES",
"url":45,
"doc":"do not suppress leading spaces; currently works only for floating point numbers"
},
{
"ref":"ida_ua.OOF_ANYSERIAL",
"url":45,
"doc":"if enum: select first available serial"
},
{
"ref":"ida_ua.OOF_LZEROES",
"url":45,
"doc":"print leading zeroes"
},
{
"ref":"ida_ua.OOF_NO_LZEROES",
"url":45,
"doc":"do not print leading zeroes; if none of OOF_LZEROES and OOF_NO_LZEROES was specified, is_lzero() is used"
},
{
"ref":"ida_ua.MAKELINE_BINPREF",
"url":45,
"doc":"allow display of binary prefix"
},
{
"ref":"ida_ua.MAKELINE_VOID",
"url":45,
"doc":"allow display of ' ' marks"
},
{
"ref":"ida_ua.MAKELINE_STACK",
"url":45,
"doc":"allow display of sp trace prefix"
},
{
"ref":"ida_ua.outctx_t",
"url":45,
"doc":"Proxy of C outctx_t class."
},
{
"ref":"ida_ua.outctx_t.thisown",
"url":45,
"doc":"The membership flag"
},
{
"ref":"ida_ua.outctx_t.bin_ea",
"url":45,
"doc":"bin_ea"
},
{
"ref":"ida_ua.outctx_t.bin_state",
"url":45,
"doc":"bin_state"
},
{
"ref":"ida_ua.outctx_t.gl_bpsize",
"url":45,
"doc":"gl_bpsize"
},
{
"ref":"ida_ua.outctx_t.bin_width",
"url":45,
"doc":"bin_width"
},
{
"ref":"ida_ua.outctx_t.insn",
"url":45,
"doc":"insn"
},
{
"ref":"ida_ua.outctx_t.curlabel",
"url":45,
"doc":"curlabel"
},
{
"ref":"ida_ua.outctx_t.wif",
"url":45,
"doc":"wif"
},
{
"ref":"ida_ua.outctx_t.procmod",
"url":45,
"doc":"procmod"
},
{
"ref":"ida_ua.outctx_t.ph",
"url":45,
"doc":"ph"
},
{
"ref":"ida_ua.outctx_t.ash",
"url":45,
"doc":"ash"
},
{
"ref":"ida_ua.outctx_t.saved_immvals",
"url":45,
"doc":"saved_immvals"
},
{
"ref":"ida_ua.outctx_t.prefix_ea",
"url":45,
"doc":"prefix_ea"
},
{
"ref":"ida_ua.outctx_t.next_line_ea",
"url":45,
"doc":"next_line_ea"
},
{
"ref":"ida_ua.outctx_t.setup_outctx",
"url":45,
"doc":"setup_outctx(self, prefix, flags) Initialization; normally used only by the kernel. @param prefix: (C : const char  ) char const  @param flags: int",
"func":1
},
{
"ref":"ida_ua.outctx_t.term_outctx",
"url":45,
"doc":"term_outctx(self, prefix=None) -> int Finalize the output context. @param prefix: (C : const char  ) char const  @return: the number of generated lines.",
"func":1
},
{
"ref":"ida_ua.outctx_t.retrieve_cmt",
"url":45,
"doc":"retrieve_cmt(self) -> ssize_t",
"func":1
},
{
"ref":"ida_ua.outctx_t.retrieve_name",
"url":45,
"doc":"retrieve_name(self, arg2, arg3) -> ssize_t @param arg2: qstring  @param arg3: color_t  ",
"func":1
},
{
"ref":"ida_ua.outctx_t.gen_xref_lines",
"url":45,
"doc":"gen_xref_lines(self) -> bool",
"func":1
},
{
"ref":"ida_ua.outctx_t.out_btoa",
"url":45,
"doc":"out_btoa(self, Word, radix=0) Output a number with the specified base (binary, octal, decimal, hex) The number is output without color codes. see also out_long() @param Word: (C : uval_t) @param radix: (C : char)",
"func":1
},
{
"ref":"ida_ua.outctx_t.set_bin_state",
"url":45,
"doc":"set_bin_state(self, value) @param value: int",
"func":1
},
{
"ref":"ida_ua.outctx_t.out_mnem",
"url":45,
"doc":"out_mnem(self, width=8, postfix=None) Output instruction mnemonic for 'insn' using information in 'ph.instruc' array. This function outputs 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. @param width: (C : int) width of field with mnemonic. if < 0, then 'postfix' will be output before the mnemonic, i.e. as a prefix @param postfix: (C : const char  ) optional postfix added to the instruction mnemonic",
"func":1
},
{
"ref":"ida_ua.outctx_t.out_custom_mnem",
"url":45,
"doc":"out_custom_mnem(self, mnem, width=8, postfix=None) 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 @param mnem: (C : const char  ) custom mnemonic @param width: (C : int) width of field with mnemonic. if < 0, then 'postfix' will be output before the mnemonic, i.e. as a prefix @param postfix: (C : const char  ) optional postfix added to 'mnem'",
"func":1
},
{
"ref":"ida_ua.outctx_t.out_mnemonic",
"url":45,
"doc":"out_mnemonic(self) 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 colored text.",
"func":1
},
{
"ref":"ida_ua.outctx_t.out_one_operand",
"url":45,
"doc":"out_one_operand(self, n) -> bool 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 colored text. @param n: (C : int) 0 UA_MAXOP-1 operand number @retval 1: operand is displayed @retval 0: operand is hidden",
"func":1
},
{
"ref":"ida_ua.outctx_t.out_immchar_cmts",
"url":45,
"doc":"out_immchar_cmts(self) 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 colored text.",
"func":1
},
{
"ref":"ida_ua.outctx_t.gen_func_header",
"url":45,
"doc":"gen_func_header(self, pfn) @param pfn: func_t  ",
"func":1
},
{
"ref":"ida_ua.outctx_t.gen_func_footer",
"url":45,
"doc":"gen_func_footer(self, pfn) @param pfn: func_t const  ",
"func":1
},
{
"ref":"ida_ua.outctx_t.out_data",
"url":45,
"doc":"out_data(self, analyze_only) @param analyze_only: bool",
"func":1
},
{
"ref":"ida_ua.outctx_t.out_specea",
"url":45,
"doc":"out_specea(self, segtype) -> bool @param segtype: uchar",
"func":1
},
{
"ref":"ida_ua.outctx_t.gen_header_extra",
"url":45,
"doc":"gen_header_extra(self)",
"func":1
},
{
"ref":"ida_ua.outctx_t.gen_header",
"url":45,
"doc":"gen_header(self, flags= 1  0)|(1  1 , proc_name=None, proc_flavour=None) @param flags: int @param proc_name: char const  @param proc_flavour: char const  ",
"func":1
},
{
"ref":"ida_ua.outctx_t.out_fcref_names",
"url":45,
"doc":"out_fcref_names(self) Print addresses referenced  from the specified address as commented symbolic names. This function is used to show, for example, multiple callees of an indirect call. This function outputs colored text.",
"func":1
},
{
"ref":"ida_ua.outctx_t.insn_ea",
"url":45,
"doc":"insn_ea"
},
{
"ref":"ida_ua.outctx_t.outbuf",
"url":45,
"doc":"buffer for the current output line once ready, it is moved to lnar"
},
{
"ref":"ida_ua.outctx_t.F32",
"url":45,
"doc":"please use outctx_t F instead"
},
{
"ref":"ida_ua.outctx_t.default_lnnum",
"url":45,
"doc":"index of the most important line in lnar"
},
{
"ref":"ida_ua.outctx_t.only_main_line",
"url":45,
"doc":"only_main_line(self) -> bool",
"func":1
},
{
"ref":"ida_ua.outctx_t.multiline",
"url":45,
"doc":"multiline(self) -> bool",
"func":1
},
{
"ref":"ida_ua.outctx_t.force_code",
"url":45,
"doc":"force_code(self) -> bool",
"func":1
},
{
"ref":"ida_ua.outctx_t.stack_view",
"url":45,
"doc":"stack_view(self) -> bool",
"func":1
},
{
"ref":"ida_ua.outctx_t.display_voids",
"url":45,
"doc":"display_voids(self) -> bool",
"func":1
},
{
"ref":"ida_ua.outctx_t.set_gen_xrefs",
"url":45,
"doc":"set_gen_xrefs(self, on=True) @param on: bool",
"func":1
},
{
"ref":"ida_ua.outctx_t.set_gen_cmt",
"url":45,
"doc":"set_gen_cmt(self, on=True) @param on: bool",
"func":1
},
{
"ref":"ida_ua.outctx_t.clr_gen_label",
"url":45,
"doc":"clr_gen_label(self)",
"func":1
},
{
"ref":"ida_ua.outctx_t.set_gen_label",
"url":45,
"doc":"set_gen_label(self)",
"func":1
},
{
"ref":"ida_ua.outctx_t.set_gen_demangled_label",
"url":45,
"doc":"set_gen_demangled_label(self)",
"func":1
},
{
"ref":"ida_ua.outctx_t.set_comment_addr",
"url":45,
"doc":"set_comment_addr(self, ea) @param ea: ea_t",
"func":1
},
{
"ref":"ida_ua.outctx_t.set_dlbind_opnd",
"url":45,
"doc":"set_dlbind_opnd(self)",
"func":1
},
{
"ref":"ida_ua.outctx_t.print_label_now",
"url":45,
"doc":"print_label_now(self) -> bool",
"func":1
},
{
"ref":"ida_ua.outctx_t.forbid_annotations",
"url":45,
"doc":"forbid_annotations(self) -> int",
"func":1
},
{
"ref":"ida_ua.outctx_t.restore_ctxflags",
"url":45,
"doc":"restore_ctxflags(self, saved_flags) @param saved_flags: int",
"func":1
},
{
"ref":"ida_ua.outctx_t.out_printf",
"url":45,
"doc":"out_printf(self, format) -> size_t Functions to append text to the current output buffer (outbuf) Append a formatted string to the output string. @param format: (C : const char  ) char const  @return: the number of characters appended",
"func":1
},
{
"ref":"ida_ua.outctx_t.out_value",
"url":45,
"doc":"out_value(self, x, outf=0) -> flags64_t 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. @param x: (C : const op_t &) value to output @param outf: (C : int) Output value flags @return: 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",
"func":1
},
{
"ref":"ida_ua.outctx_t.out_symbol",
"url":45,
"doc":"out_symbol(self, c) Output a character with COLOR_SYMBOL color. @param c: (C : char)",
"func":1
},
{
"ref":"ida_ua.outctx_t.out_chars",
"url":45,
"doc":"out_chars(self, c, n) Append a character multiple times. @param c: (C : char) @param n: (C : int)",
"func":1
},
{
"ref":"ida_ua.outctx_t.out_spaces",
"url":45,
"doc":"out_spaces(self, len) Appends spaces to outbuf until its tag_strlen becomes 'len'. @param len: (C : ssize_t)",
"func":1
},
{
"ref":"ida_ua.outctx_t.out_line",
"url":45,
"doc":"out_line(self, str, color=0) Output a string with the specified color. @param str: (C : const char  ) char const  @param color: (C : color_t)",
"func":1
},
{
"ref":"ida_ua.outctx_t.out_keyword",
"url":45,
"doc":"out_keyword(self, str) Output a string with COLOR_KEYWORD color. @param str: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_ua.outctx_t.out_register",
"url":45,
"doc":"out_register(self, str) Output a character with COLOR_REG color. @param str: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_ua.outctx_t.out_tagon",
"url":45,
"doc":"out_tagon(self, tag) Output \"turn color on\" escape sequence. @param tag: (C : color_t)",
"func":1
},
{
"ref":"ida_ua.outctx_t.out_tagoff",
"url":45,
"doc":"out_tagoff(self, tag) Output \"turn color off\" escape sequence. @param tag: (C : color_t)",
"func":1
},
{
"ref":"ida_ua.outctx_t.out_addr_tag",
"url":45,
"doc":"out_addr_tag(self, ea) Output \"address\" escape sequence. @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_ua.outctx_t.out_colored_register_line",
"url":45,
"doc":"out_colored_register_line(self, str) 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) @param str: (C : const char  ) char const  ",
"func":1
},
{
"ref":"ida_ua.outctx_t.out_char",
"url":45,
"doc":"out_char(self, c) Output one character. The character is output without color codes. see also out_symbol() @param c: (C : char)",
"func":1
},
{
"ref":"ida_ua.outctx_t.out_long",
"url":45,
"doc":"out_long(self, v, radix) 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( @param v: (C : sval_t) value to output @param radix: (C : char) base (2,8,10,16)",
"func":1
},
{
"ref":"ida_ua.outctx_t.out_name_expr",
"url":45,
"doc":"out_name_expr(self, x, ea, off=BADADDR) -> bool Output a name expression. @param x: (C : const op_t &) instruction operand referencing the name expression @param ea: (C : ea_t) address to convert to name expression @param off: (C : adiff_t) 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. @return: true if the name expression has been produced",
"func":1
},
{
"ref":"ida_ua.outctx_t.close_comment",
"url":45,
"doc":"close_comment(self)",
"func":1
},
{
"ref":"ida_ua.outctx_t.flush_outbuf",
"url":45,
"doc":"flush_outbuf(self, indent=-1) -> bool 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. @param indent: (C : int)",
"func":1
},
{
"ref":"ida_ua.outctx_t.flush_buf",
"url":45,
"doc":"flush_buf(self, buf, indent=-1) -> bool Append contents of 'buf' to the line array. Behaves like flush_outbuf but accepts an arbitrary buffer @param buf: (C : const char  ) char const  @param indent: (C : int)",
"func":1
},
{
"ref":"ida_ua.outctx_t.gen_printf",
"url":45,
"doc":"gen_printf(self, indent, format) -> bool printf-like function to add lines to the line array. @param indent: (C : int) 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. @param format: (C : const char  ) printf style colored line to generate @return: overflow, lnar_maxsize has been reached",
"func":1
},
{
"ref":"ida_ua.outctx_t.gen_empty_line",
"url":45,
"doc":"gen_empty_line(self) -> bool Generate empty line. This function does nothing if generation of empty lines is disabled. @return: overflow, lnar_maxsize has been reached",
"func":1
},
{
"ref":"ida_ua.outctx_t.gen_border_line",
"url":45,
"doc":"gen_border_line(self, solid=False) -> bool Generate thin border line. This function does nothing if generation of border lines is disabled. @param solid: (C : bool) generate solid border line (with =), otherwise with - @return: overflow, lnar_maxsize has been reached",
"func":1
},
{
"ref":"ida_ua.outctx_t.gen_cmt_line",
"url":45,
"doc":"gen_cmt_line(self, format) -> bool Generate one non-indented comment line, colored with COLOR_AUTOCMT. @param format: (C : const char  ) printf() style format line. The resulting comment line should not include comment character (;) @return: overflow, lnar_maxsize has been reached",
"func":1
},
{
"ref":"ida_ua.outctx_t.gen_collapsed_line",
"url":45,
"doc":"gen_collapsed_line(self, format) -> bool Generate one non-indented comment line, colored with COLOR_COLLAPSED. @param format: (C : const char  ) printf() style format line. The resulting comment line should not include comment character (;) @return: overflow, lnar_maxsize has been reached",
"func":1
},
{
"ref":"ida_ua.outctx_t.gen_block_cmt",
"url":45,
"doc":"gen_block_cmt(self, cmt, color) -> bool Generate big non-indented comment lines. @param cmt: (C : const char  ) comment text. may contain \\n characters to denote new lines. should not contain comment character (;) @param color: (C : color_t) color of comment text (one of Color tags) @return: overflow, lnar_maxsize has been reached",
"func":1
},
{
"ref":"ida_ua.outctx_t.init_lines_array",
"url":45,
"doc":"init_lines_array(self, answers, maxsize) @param answers: qstrvec_t  @param maxsize: int",
"func":1
},
{
"ref":"ida_ua.outctx_t.get_stkvar",
"url":45,
"doc":"get_stkvar(self, x, v, vv, is_sp_based, _frame) -> ssize_t @param x: op_t const & @param v: uval_t @param vv: sval_t  @param is_sp_based: int  @param _frame: tinfo_t  ",
"func":1
},
{
"ref":"ida_ua.outctx_t.gen_empty_line_without_annotations",
"url":45,
"doc":"gen_empty_line_without_annotations(self)",
"func":1
},
{
"ref":"ida_ua.outctx_t.getF",
"url":45,
"doc":"getF(self) -> flags64_t",
"func":1
},
{
"ref":"ida_ua.GH_PRINT_PROC",
"url":45,
"doc":"processor name"
},
{
"ref":"ida_ua.GH_PRINT_ASM",
"url":45,
"doc":"selected assembler"
},
{
"ref":"ida_ua.GH_PRINT_BYTESEX",
"url":45,
"doc":"byte sex"
},
{
"ref":"ida_ua.GH_PRINT_HEADER",
"url":45,
"doc":"lines from ash.header"
},
{
"ref":"ida_ua.GH_BYTESEX_HAS_HIGHBYTE",
"url":45,
"doc":"describe inf.is_wide_high_byte_first()"
},
{
"ref":"ida_ua.create_outctx",
"url":45,
"doc":"create_outctx(ea, F=0, suspop=0) -> outctx_base_t Create a new output context. To delete it, just use \"delete pctx\" @param ea: (C : ea_t) @param F: (C : flags64_t) @param suspop: (C : int)",
"func":1
},
{
"ref":"ida_ua.print_insn_mnem",
"url":45,
"doc":"print_insn_mnem(ea) -> str Print instruction mnemonics. @param ea: (C : ea_t) linear address of the instruction @return: success",
"func":1
},
{
"ref":"ida_ua.FCBF_CONT",
"url":45,
"doc":"don't stop on decoding, or any other kind of error"
},
{
"ref":"ida_ua.FCBF_ERR_REPL",
"url":45,
"doc":"in case of an error, use a CP_REPLCHAR instead of a hex representation of the problematic byte"
},
{
"ref":"ida_ua.FCBF_FF_LIT",
"url":45,
"doc":"in case of codepoints  0xFF, use it as-is (i.e., LATIN SMALL LETTER Y WITH DIAERESIS). If both this, and FCBF_REPL are specified, this will take precedence"
},
{
"ref":"ida_ua.FCBF_DELIM",
"url":45,
"doc":"add the 'ash'-specified delimiters around the generated data. Note: if those are not defined and the INFFL_ALLASM is not set, format_charlit() will return an error"
},
{
"ref":"ida_ua.get_dtype_flag",
"url":45,
"doc":"get_dtype_flag(dtype) -> flags64_t Get flags for op_t dtype field. @param dtype: (C : op_dtype_t)",
"func":1
},
{
"ref":"ida_ua.get_dtype_size",
"url":45,
"doc":"get_dtype_size(dtype) -> size_t Get size of opt_ dtype field. @param dtype: (C : op_dtype_t)",
"func":1
},
{
"ref":"ida_ua.is_floating_dtype",
"url":45,
"doc":"is_floating_dtype(dtype) -> bool Is a floating type operand? @param dtype: (C : op_dtype_t)",
"func":1
},
{
"ref":"ida_ua.create_insn",
"url":45,
"doc":"create_insn(ea, out=None) -> int Create an instruction at the specified address. This function checks if an instruction is present at the specified address and will try to create one if there is none. It will fail if there is a data item or other items hindering the creation of the new instruction. This function will also fill the 'out' structure. @param ea: (C : ea_t) linear address @param out: (C : insn_t  ) the resulting instruction @return: the length of the instruction or 0",
"func":1
},
{
"ref":"ida_ua.decode_insn",
"url":45,
"doc":"decode_insn(out, ea) -> int Analyze the specified address and fill 'out'. This function does not modify the database. It just tries to interpret the specified address as an instruction and fills the 'out' structure. @param out: (C : insn_t  ) the resulting instruction @param ea: (C : ea_t) linear address @return: the length of the (possible) instruction or 0",
"func":1
},
{
"ref":"ida_ua.can_decode",
"url":45,
"doc":"can_decode(ea) -> bool Can the bytes at address 'ea' be decoded as instruction? @param ea: (C : ea_t) linear address @return: whether or not the contents at that address could be a valid instruction",
"func":1
},
{
"ref":"ida_ua.print_operand",
"url":45,
"doc":"print_operand(ea, n, getn_flags=0, newtype=None) -> bool Generate text representation for operand  n. This function will generate the text representation of the specified operand (includes color codes.) @param ea: (C : ea_t) the item address (instruction or data) @param n: (C : int) 0 UA_MAXOP-1 operand number, meaningful only for instructions @param getn_flags: (C : int) Name expression flags Currently only GETN_NODUMMY is accepted. @param newtype: (C : struct printop_t  ) if specified, print the operand using the specified type @return: success",
"func":1
},
{
"ref":"ida_ua.decode_prev_insn",
"url":45,
"doc":"decode_prev_insn(out, ea) -> ea_t Decode previous instruction if it exists, fill 'out'. @param out: (C : insn_t  ) the resulting instruction @param ea: (C : ea_t) the address to decode the previous instruction from @return: the previous instruction address (BADADDR-no such insn)",
"func":1
},
{
"ref":"ida_ua.macro_constructor_t",
"url":45,
"doc":"Proxy of C macro_constructor_t class. __init__(self) -> macro_constructor_t @param self: PyObject  "
},
{
"ref":"ida_ua.macro_constructor_t.thisown",
"url":45,
"doc":"The membership flag"
},
{
"ref":"ida_ua.macro_constructor_t.reserved",
"url":45,
"doc":"reserved"
},
{
"ref":"ida_ua.macro_constructor_t.construct_macro",
"url":45,
"doc":"construct_macro(self, insn, enable) -> bool Construct a macro instruction. This function may be called from ana() to generate a macro instruction. The real work is done by the 'build_macro()' virtual function. It must be defined by the processor module. construct_macro() modifies the database using the info provided by build_macro(). It verifies if the instruction can really be created (for example, that other items do not hinder), may plan to reanalyze the macro, etc. If the macro instructions are disabled by the user, construct_macro() will destroy the macro instruction. Note: if INSN_MODMAC is not set in insn.flags, the database will not be modified. @param insn: (C : insn_t  ) the instruction to modify into a macro @param enable: (C : bool) enable macro generation @retval true: the macro instruction is generated in 'insn' @retval false: did not create a macro",
"func":1
},
{
"ref":"ida_ua.macro_constructor_t.build_macro",
"url":45,
"doc":"build_macro(self, insn, may_go_forward) -> bool Try to extend the instruction. @param insn: (C : insn_t  ) Instruction to modify, usually the first instruction of the macro @param may_go_forward: (C : bool) Is it ok to consider the next instruction for the macro? This argument may be false, for example, if there is a cross reference to the end of INSN. In this case creating a macro is not desired. However, it may still be useful to perform minor tweaks to the instruction using the information about the surrounding instructions. @return: true if created an macro instruction. This function may modify 'insn' and return false; these changes will be accepted by the kernel but the instruction will not be considered as a macro.",
"func":1
},
{
"ref":"ida_ua.decode_preceding_insn",
"url":45,
"doc":"decode_preceding_insn(out, ea) -> (int, int) Decodes the preceding instruction. Please check ua.hpp / decode_preceding_insn() @param out: instruction storage @param ea: current ea @return: tuple(preceeding_ea or BADADDR, farref = Boolean)",
"func":1
},
{
"ref":"ida_ua.construct_macro",
"url":45,
"doc":"construct_macro(_this, insn, enable) -> bool See ua.hpp's construct_macro(). @param _this: macro_constructor_t  @param insn: insn_t  @param enable: bool construct_macro(insn, enable, build_macro) -> bool @param insn: insn_t & @param enable: bool @param build_macro: PyObject  ",
"func":1
},
{
"ref":"ida_ua.get_dtype_by_size",
"url":45,
"doc":"get_dtype_by_size(size) -> int Get op_t dtype from size. @param size: (C : asize_t)",
"func":1
},
{
"ref":"ida_ua.get_immvals",
"url":45,
"doc":"get_immvals(ea, n, F=0) -> PyObject Get immediate values at the specified address. This function decodes instruction at the specified address or inspects the data item. It finds immediate values and copies them to 'out'. This function will store the original value of the operands in 'out', unless the last bits of 'F' are \" .0 11111111\", in which case the transformed values (as needed for printing) will be stored instead. @param ea: (C : ea_t) address to analyze @param n: (C : int) 0 UA_MAXOP-1 operand number, OPND_ALL all the operands @param F: (C : flags64_t) flags for the specified address @return: number of immediate values (0 2 UA_MAXOP)",
"func":1
},
{
"ref":"ida_ua.get_printable_immvals",
"url":45,
"doc":"get_printable_immvals(ea, n, F=0) -> PyObject Get immediate ready-to-print values at the specified address @param ea: (C : ea_t) address to analyze @param n: (C : int) 0 UA_MAXOP-1 operand number, OPND_ALL all the operands @param F: (C : flags64_t) flags for the specified address @return: number of immediate values (0 2 UA_MAXOP)",
"func":1
},
{
"ref":"ida_ua.insn_t__from_ptrval__",
"url":45,
"doc":"insn_t__from_ptrval__(ptrval) -> insn_t @param ptrval: size_t",
"func":1
},
{
"ref":"ida_ua.op_t__from_ptrval__",
"url":45,
"doc":"op_t__from_ptrval__(ptrval) -> op_t @param ptrval: size_t",
"func":1
},
{
"ref":"ida_ua.outctx_base_t__from_ptrval__",
"url":45,
"doc":"outctx_base_t__from_ptrval__(ptrval) -> outctx_base_t @param ptrval: size_t",
"func":1
},
{
"ref":"ida_ua.outctx_t__from_ptrval__",
"url":45,
"doc":"outctx_t__from_ptrval__(ptrval) -> outctx_t @param ptrval: size_t",
"func":1
},
{
"ref":"ida_ua.ua_mnem",
"url":45,
"doc":"print_insn_mnem(ea) -> str Print instruction mnemonics. @param ea: (C : ea_t) linear address of the instruction @return: success",
"func":1
},
{
"ref":"ida_undo",
"url":46,
"doc":""
},
{
"ref":"ida_undo.create_undo_point",
"url":46,
"doc":"create_undo_point(input_bytes) -> bool Create a new restore point. The user can undo to this point in the future. @param bytes: (C : const uchar  ) body of the record for UNDO_ACTION_START @return: success; fails if undo is disabled create_undo_point(bytes, size) -> bool @param bytes: uchar const  ",
"func":1
},
{
"ref":"ida_undo.perform_undo",
"url":46,
"doc":"perform_undo() -> bool Perform undo. @return: success",
"func":1
},
{
"ref":"ida_undo.perform_redo",
"url":46,
"doc":"perform_redo() -> bool Perform redo. @return: success",
"func":1
},
{
"ref":"ida_xref",
"url":47,
"doc":"Functions that deal with cross-references. There are 2 types of xrefs: CODE and DATA references. All xrefs are kept in the bTree except ordinary execution flow to the next instruction. Ordinary execution flow to the next instruction is kept in flags (see bytes.hpp) The source address of a cross-reference must be an item head (is_head) or a structure member id. Cross-references are automatically sorted."
},
{
"ref":"ida_xref.create_switch_xrefs",
"url":47,
"doc":"create_switch_xrefs(ea, si) -> bool This function creates xrefs from the indirect jump. Usually there is no need to call this function directly because the kernel will call it for switch tables Note: Custom switch information are not supported yet. @param ea: address of the 'indirect jump' instruction @param si: switch information @return: Boolean",
"func":1
},
{
"ref":"ida_xref.cases_and_targets_t",
"url":47,
"doc":"Proxy of C cases_and_targets_t class. __init__(self) -> cases_and_targets_t"
},
{
"ref":"ida_xref.cases_and_targets_t.thisown",
"url":47,
"doc":"The membership flag"
},
{
"ref":"ida_xref.cases_and_targets_t.cases",
"url":47,
"doc":"cases"
},
{
"ref":"ida_xref.cases_and_targets_t.targets",
"url":47,
"doc":"targets"
},
{
"ref":"ida_xref.calc_switch_cases",
"url":47,
"doc":"calc_switch_cases(ea, si) -> cases_and_targets_t Get information about a switch's cases. The returned information can be used as follows: for idx in range(len(results.cases : cur_case = results.cases[idx] for cidx in range(len(cur_case : print(\"case: %d\" % cur_case[cidx]) print(\" goto 0x%x\" % results.targets[idx]) @param ea: address of the 'indirect jump' instruction @param si: switch information @return: a structure with 2 members: 'cases', and 'targets'.",
"func":1
},
{
"ref":"ida_xref.create_switch_table",
"url":47,
"doc":"create_switch_table(ea, si) -> bool Create switch table from the switch information @param ea: address of the 'indirect jump' instruction @param si: switch information @return: Boolean",
"func":1
},
{
"ref":"ida_xref.fl_U",
"url":47,
"doc":"unknown - for compatibility with old versions. Should not be used anymore."
},
{
"ref":"ida_xref.fl_CF",
"url":47,
"doc":"Call Far This xref creates a function at the referenced location"
},
{
"ref":"ida_xref.fl_CN",
"url":47,
"doc":"Call Near This xref creates a function at the referenced location"
},
{
"ref":"ida_xref.fl_JF",
"url":47,
"doc":"Jump Far."
},
{
"ref":"ida_xref.fl_JN",
"url":47,
"doc":"Jump Near."
},
{
"ref":"ida_xref.fl_USobsolete",
"url":47,
"doc":"User specified (obsolete)"
},
{
"ref":"ida_xref.fl_F",
"url":47,
"doc":"Ordinary flow: used to specify execution flow to the next instruction."
},
{
"ref":"ida_xref.dr_U",
"url":47,
"doc":"Unknown - for compatibility with old versions. Should not be used anymore."
},
{
"ref":"ida_xref.dr_O",
"url":47,
"doc":"Offset The reference uses 'offset' of data rather than its value OR The reference appeared because the \"OFFSET\" flag of instruction is set. The meaning of this type is IDP dependent."
},
{
"ref":"ida_xref.dr_W",
"url":47,
"doc":"Write access."
},
{
"ref":"ida_xref.dr_R",
"url":47,
"doc":"Read access."
},
{
"ref":"ida_xref.dr_T",
"url":47,
"doc":"Text (for forced operands only) Name of data is used in manual operand"
},
{
"ref":"ida_xref.dr_I",
"url":47,
"doc":"Informational (a derived java class references its base class informationally)"
},
{
"ref":"ida_xref.dr_S",
"url":47,
"doc":"Reference to enum member (symbolic constant)"
},
{
"ref":"ida_xref.XREF_USER",
"url":47,
"doc":"User specified xref. This xref will not be deleted by IDA. This bit should be combined with the existing xref types (cref_t & dref_t) Cannot be used for fl_F xrefs"
},
{
"ref":"ida_xref.XREF_TAIL",
"url":47,
"doc":"Reference to tail byte in extrn symbols."
},
{
"ref":"ida_xref.XREF_BASE",
"url":47,
"doc":"Reference to the base part of an offset."
},
{
"ref":"ida_xref.XREF_MASK",
"url":47,
"doc":"Mask to get xref type."
},
{
"ref":"ida_xref.XREF_PASTEND",
"url":47,
"doc":"Reference is past item. This bit may be passed to add_dref() functions but it won't be saved in the database. It will prevent the destruction of eventual alignment directives."
},
{
"ref":"ida_xref.xrefchar",
"url":47,
"doc":"xrefchar(xrtype) -> char Get character describing the xref type. @param xrtype: (C : char) combination of Cross-Reference type flags and a cref_t of dref_t value",
"func":1
},
{
"ref":"ida_xref.add_cref",
"url":47,
"doc":"add_cref(frm, to, type) -> bool Create a code cross-reference. @param from: (C : ea_t) linear address of referencing instruction @param to: (C : ea_t) linear address of referenced instruction @param type: (C : cref_t) cross-reference type @return: success",
"func":1
},
{
"ref":"ida_xref.del_cref",
"url":47,
"doc":"del_cref(frm, to, expand) -> bool Delete a code cross-reference. @param from: (C : ea_t) linear address of referencing instruction @param to: (C : ea_t) linear address of referenced instruction @param expand: (C : bool) policy to delete the referenced instruction  1: plan to delete the referenced instruction if it has no more references.  0: don't delete the referenced instruction even if no more cross-references point to it @retval true: if the referenced instruction will be deleted",
"func":1
},
{
"ref":"ida_xref.add_dref",
"url":47,
"doc":"add_dref(frm, to, type) -> bool Create a data cross-reference. @param from: (C : ea_t) linear address of referencing instruction or data @param to: (C : ea_t) linear address of referenced data @param type: (C : dref_t) cross-reference type @return: success (may fail if user-defined xref exists from->to)",
"func":1
},
{
"ref":"ida_xref.del_dref",
"url":47,
"doc":"del_dref(frm, to) Delete a data cross-reference. @param from: (C : ea_t) linear address of referencing instruction or data @param to: (C : ea_t) linear address of referenced data",
"func":1
},
{
"ref":"ida_xref.xrefblk_t",
"url":47,
"doc":"Proxy of C xrefblk_t class. __init__(self) -> xrefblk_t"
},
{
"ref":"ida_xref.xrefblk_t.thisown",
"url":47,
"doc":"The membership flag"
},
{
"ref":"ida_xref.xrefblk_t.frm",
"url":47,
"doc":"frm"
},
{
"ref":"ida_xref.xrefblk_t.to",
"url":47,
"doc":"the referenced address - filled by first_from(), next_from()"
},
{
"ref":"ida_xref.xrefblk_t.iscode",
"url":47,
"doc":"1-is code reference; 0-is data reference"
},
{
"ref":"ida_xref.xrefblk_t.type",
"url":47,
"doc":"type of the last returned reference (cref_t & dref_t)"
},
{
"ref":"ida_xref.xrefblk_t.user",
"url":47,
"doc":"1-is user defined xref, 0-defined by ida"
},
{
"ref":"ida_xref.xrefblk_t.first_from",
"url":47,
"doc":"first_from(self, _from, flags) -> bool Get first xref from the given address (store in to) @param _from: (C : ea_t) @param flags: (C : int)",
"func":1
},
{
"ref":"ida_xref.xrefblk_t.first_to",
"url":47,
"doc":"first_to(self, _to, flags) -> bool Get xref to given address (store in from) @param _to: (C : ea_t) @param flags: (C : int)",
"func":1
},
{
"ref":"ida_xref.xrefblk_t.next_from",
"url":47,
"doc":"next_from(self) -> bool Get xref from '_from' that comes after '_to'. next_from(self, _from, _to, flags) -> bool @param _from: ea_t @param _to: ea_t @param flags: int",
"func":1
},
{
"ref":"ida_xref.xrefblk_t.next_to",
"url":47,
"doc":"next_to(self) -> bool Get xref to '_to' that comes after '_from'. next_to(self, _from, _to, flags) -> bool @param _from: ea_t @param _to: ea_t @param flags: int",
"func":1
},
{
"ref":"ida_xref.xrefblk_t.crefs_to",
"url":47,
"doc":"Provide an iterator on code references to ea including flow references",
"func":1
},
{
"ref":"ida_xref.xrefblk_t.fcrefs_to",
"url":47,
"doc":"Provide an iterator on code references to ea",
"func":1
},
{
"ref":"ida_xref.xrefblk_t.crefs_from",
"url":47,
"doc":"Provide an iterator on code references from ea including flow references",
"func":1
},
{
"ref":"ida_xref.xrefblk_t.fcrefs_from",
"url":47,
"doc":"Provide an iterator on code references from ea",
"func":1
},
{
"ref":"ida_xref.xrefblk_t.drefs_to",
"url":47,
"doc":"Provide an iterator on data references to ea",
"func":1
},
{
"ref":"ida_xref.xrefblk_t.drefs_from",
"url":47,
"doc":"Provide an iterator on data references from ea",
"func":1
},
{
"ref":"ida_xref.xrefblk_t.refs_from",
"url":47,
"doc":"Provide an iterator on from reference represented by flag",
"func":1
},
{
"ref":"ida_xref.xrefblk_t.refs_to",
"url":47,
"doc":"Provide an iterator on to reference represented by flag",
"func":1
},
{
"ref":"ida_xref.XREF_ALL",
"url":47,
"doc":"return all references"
},
{
"ref":"ida_xref.XREF_FAR",
"url":47,
"doc":"don't return ordinary flow xrefs"
},
{
"ref":"ida_xref.XREF_DATA",
"url":47,
"doc":"return data references only"
},
{
"ref":"ida_xref.get_first_dref_from",
"url":47,
"doc":"get_first_dref_from(frm) -> ea_t Get first data referenced from the specified address. @param from: (C : ea_t) linear address of referencing instruction or data @return: linear address of first (lowest) data referenced from the specified address. Return BADADDR if the specified instruction/data doesn't reference to anything.",
"func":1
},
{
"ref":"ida_xref.get_next_dref_from",
"url":47,
"doc":"get_next_dref_from(frm, current) -> ea_t Get next data referenced from the specified address. @param from: (C : ea_t) linear address of referencing instruction or data @param current: (C : ea_t) linear address of current referenced data. This value is returned by get_first_dref_from() or previous call to get_next_dref_from() functions. @return: linear address of next data or BADADDR.",
"func":1
},
{
"ref":"ida_xref.get_first_dref_to",
"url":47,
"doc":"get_first_dref_to(to) -> ea_t Get address of instruction/data referencing to the specified data. @param to: (C : ea_t) linear address of referencing instruction or data @return: BADADDR if nobody refers to the specified data.",
"func":1
},
{
"ref":"ida_xref.get_next_dref_to",
"url":47,
"doc":"get_next_dref_to(to, current) -> ea_t Get address of instruction/data referencing to the specified data @param to: (C : ea_t) linear address of referencing instruction or data @param current: (C : ea_t) current linear address. This value is returned by get_first_dref_to() or previous call to get_next_dref_to() functions. @return: BADADDR if nobody refers to the specified data.",
"func":1
},
{
"ref":"ida_xref.get_first_cref_from",
"url":47,
"doc":"get_first_cref_from(frm) -> ea_t Get first instruction referenced from the specified instruction. If the specified instruction passes execution to the next instruction then the next instruction is returned. Otherwise the lowest referenced address is returned (remember that xrefs are kept sorted!). @param from: (C : ea_t) linear address of referencing instruction @return: first referenced address. If the specified instruction doesn't reference to other instructions then returns BADADDR.",
"func":1
},
{
"ref":"ida_xref.get_next_cref_from",
"url":47,
"doc":"get_next_cref_from(frm, current) -> ea_t Get next instruction referenced from the specified instruction. @param from: (C : ea_t) linear address of referencing instruction @param current: (C : ea_t) linear address of current referenced instruction This value is returned by get_first_cref_from() or previous call to get_next_cref_from() functions. @return: next referenced address or BADADDR.",
"func":1
},
{
"ref":"ida_xref.get_first_cref_to",
"url":47,
"doc":"get_first_cref_to(to) -> ea_t Get first instruction referencing to the specified instruction. If the specified instruction may be executed immediately after its previous instruction then the previous instruction is returned. Otherwise the lowest referencing address is returned. (remember that xrefs are kept sorted!). @param to: (C : ea_t) linear address of referenced instruction @return: linear address of the first referencing instruction or BADADDR.",
"func":1
},
{
"ref":"ida_xref.get_next_cref_to",
"url":47,
"doc":"get_next_cref_to(to, current) -> ea_t Get next instruction referencing to the specified instruction. @param to: (C : ea_t) linear address of referenced instruction @param current: (C : ea_t) linear address of current referenced instruction This value is returned by get_first_cref_to() or previous call to get_next_cref_to() functions. @return: linear address of the next referencing instruction or BADADDR.",
"func":1
},
{
"ref":"ida_xref.get_first_fcref_from",
"url":47,
"doc":"get_first_fcref_from(frm) -> ea_t @param from: ea_t",
"func":1
},
{
"ref":"ida_xref.get_next_fcref_from",
"url":47,
"doc":"get_next_fcref_from(frm, current) -> ea_t @param from: ea_t @param current: ea_t",
"func":1
},
{
"ref":"ida_xref.get_first_fcref_to",
"url":47,
"doc":"get_first_fcref_to(to) -> ea_t @param to: ea_t",
"func":1
},
{
"ref":"ida_xref.get_next_fcref_to",
"url":47,
"doc":"get_next_fcref_to(to, current) -> ea_t @param to: ea_t @param current: ea_t",
"func":1
},
{
"ref":"ida_xref.has_external_refs",
"url":47,
"doc":"has_external_refs(pfn, ea) -> bool Does 'ea' have references from outside of 'pfn'? @param pfn: (C : func_t  ) @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_xref.has_jump_or_flow_xref",
"url":47,
"doc":"has_jump_or_flow_xref(ea) -> bool Are there jump or flow references to EA? @param ea: (C : ea_t)",
"func":1
},
{
"ref":"ida_xref.delete_switch_table",
"url":47,
"doc":"delete_switch_table(jump_ea, si) @param jump_ea: ea_t @param si: switch_info_t const &",
"func":1
},
{
"ref":"ida_xref.casevec_t",
"url":47,
"doc":"Proxy of C qvector > class. __init__(self) -> casevec_t __init__(self, x) -> casevec_t @param x: qvector > const &"
},
{
"ref":"ida_xref.casevec_t.thisown",
"url":47,
"doc":"The membership flag"
},
{
"ref":"ida_xref.casevec_t.push_back",
"url":47,
"doc":"push_back(self, x) @param x: qvector const & push_back(self) -> qvector &",
"func":1
},
{
"ref":"ida_xref.casevec_t.pop_back",
"url":47,
"doc":"pop_back(self)",
"func":1
},
{
"ref":"ida_xref.casevec_t.size",
"url":47,
"doc":"size(self) -> size_t",
"func":1
},
{
"ref":"ida_xref.casevec_t.empty",
"url":47,
"doc":"empty(self) -> bool",
"func":1
},
{
"ref":"ida_xref.casevec_t.at",
"url":47,
"doc":"__getitem__(self, i) -> qvector const & @param i: size_t",
"func":1
},
{
"ref":"ida_xref.casevec_t.qclear",
"url":47,
"doc":"qclear(self)",
"func":1
},
{
"ref":"ida_xref.casevec_t.clear",
"url":47,
"doc":"clear(self)",
"func":1
},
{
"ref":"ida_xref.casevec_t.resize",
"url":47,
"doc":"resize(self, _newsize, x) @param _newsize: size_t @param x: qvector const & resize(self, _newsize) @param _newsize: size_t",
"func":1
},
{
"ref":"ida_xref.casevec_t.grow",
"url":47,
"doc":"grow(self, x=qvector ( @param x: qvector const &",
"func":1
},
{
"ref":"ida_xref.casevec_t.capacity",
"url":47,
"doc":"capacity(self) -> size_t",
"func":1
},
{
"ref":"ida_xref.casevec_t.reserve",
"url":47,
"doc":"reserve(self, cnt) @param cnt: size_t",
"func":1
},
{
"ref":"ida_xref.casevec_t.truncate",
"url":47,
"doc":"truncate(self)",
"func":1
},
{
"ref":"ida_xref.casevec_t.swap",
"url":47,
"doc":"swap(self, r) @param r: qvector > &",
"func":1
},
{
"ref":"ida_xref.casevec_t.extract",
"url":47,
"doc":"extract(self) -> qvector  ",
"func":1
},
{
"ref":"ida_xref.casevec_t.inject",
"url":47,
"doc":"inject(self, s, len) @param s: qvector  @param len: size_t",
"func":1
},
{
"ref":"ida_xref.casevec_t.begin",
"url":47,
"doc":"begin(self) -> qvector > iterator begin(self) -> qvector > const_iterator",
"func":1
},
{
"ref":"ida_xref.casevec_t.end",
"url":47,
"doc":"end(self) -> qvector > iterator end(self) -> qvector > const_iterator",
"func":1
},
{
"ref":"ida_xref.casevec_t.insert",
"url":47,
"doc":"insert(self, it, x) -> qvector > iterator @param it: qvector > iterator @param x: qvector const &",
"func":1
},
{
"ref":"ida_xref.casevec_t.erase",
"url":47,
"doc":"erase(self, it) -> qvector > iterator @param it: qvector > iterator erase(self, first, last) -> qvector > iterator @param first: qvector > iterator @param last: qvector > iterator",
"func":1
},
{
"ref":"ida_xref.casevec_t.find",
"url":47,
"doc":"find(self, x) -> qvector > iterator @param x: qvector const & find(self, x) -> qvector > const_iterator @param x: qvector const &",
"func":1
},
{
"ref":"ida_xref.casevec_t.has",
"url":47,
"doc":"has(self, x) -> bool @param x: qvector const &",
"func":1
},
{
"ref":"ida_xref.casevec_t.add_unique",
"url":47,
"doc":"add_unique(self, x) -> bool @param x: qvector const &",
"func":1
},
{
"ref":"ida_xref.casevec_t.front",
"url":47,
"doc":"",
"func":1
},
{
"ref":"ida_xref.casevec_t.back",
"url":47,
"doc":"",
"func":1
},
{
"ref":"ida_xref.casevec_t.append",
"url":47,
"doc":"push_back(self, x) @param x: qvector const & push_back(self) -> qvector &",
"func":1
}
]